C语言好题解析(三)

news2024/11/18 9:43:25

目录

  • 选择题一
  • 选择题二
  • 选择题三
  • 选择题四
  • 编程题一
  • 编程题二

选择题一

以下程序段的输出结果是()
#include<stdio.h>
int main()
{
char s[] = "\\123456\123456\t";
printf("%d\n", strlen(s));
return 0;
}
A: 12      B: 13      C: 16     D: 以上都不对

【答案】 A
【分析】这道题涉及到转义字符,\是一种转义字符,而\就是以(第一个\)修饰(第二个\)使(第二个\)不表示转义的意思(这里有点绕)
因此\ \为一个字符,而123456则为6个字符。
对后面的\123456\t来说,\123表示一个字符(\ddd:ddd是表示一个1-3位的八进制数字),而456则表示3个字符,\t表示一个字符。
接下来就是strlen的含义,strlen是计算字符串的长度,直到遇见\0才会停止,因此经过前面的分析,strlen(s)=1+6+1+3+1=12
加粗样式

选择题二

若有以下程序,则运行后的输出结果是()
#include <stdio.h>
#define N 2
#define M N + 1
#define NUM (M + 1) * M / 2
int main()
{
printf("%d\n", NUM);
return 0;
}
A: 4       B: 8       C: 9      D: 6

【答案】 B
【分析】这道题就是替换变量,根据上面的定义我们知道
N=2
M=N+1
NUM=(M+1)*M/2
将等式带入第三表达式即可得出结果。
值得注意的是许多人算出的结果为6,因为他们在算时NUM=(2+1+1)(2+1)/2=6事实上这道题我也是这样算的
但是实际上正确的算法为:
NUM=(2+1+1) *2+1/2=8.5
这是因为(M+1)*M的第二个M并没有()因此在计算时不能擅自添加()

最后的8则是因为%d为int的打印方式,所以将小数点后的5省略了
在这里插入图片描述

选择题三

如下函数的 f(1) 的值为( )
int f(int n)
{
static int i = 1;
if(n >= 5)
return n;
n = n + i;
i++;
return f(n);
}
A: 5      B: 6       C: 7       D: 8

【答案】C
【分析】这道题是递归类型的题 ,n>=5为限制条件,但需要注意的是static修饰的i
千万不用以为int i=1,i就一直为1了,static修饰使它可以保留以前变化的值,因此i是一直在增加的
详细的过程如图:
在这里插入图片描述
在这里插入图片描述

选择题四

下面3段程序代码的效果一样吗( )

int b;
(1)const int *a = &b;
(2)int const *a = &b;
(3)int *const a = &b;
A: (2)=(3)  B: (1)=(2)  C: 都不一样  D: 都一样

【答案】 B
【分析】我们需要了解const的含义,只要了解了含义就可以做这道题
const是修饰他后面的变量使它的地址或者数值无法改变。
比如:
(1)中const修饰的是a,就说明a无法改变,因为a是表示的地址,所以a所表示的地址无法改变,但是a的值是可以改变的。
(2)中const修饰的仍是*a(和int无关)
(3)const修饰的是a,也就说明a所代表的数值无法改变,但a的地址是可以改变。

编程题一

验证尼科彻斯定理

任何一个整数 m 的立方都可以写成 m 个连续奇数之和
例如
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
输入一个正整数 m(m≤100) 
将 m 的立方写成 m 个连续奇数之和的形式输出。
注意:本题含有多组输入数据。
输入描述:输入一个int整数
输出描述:输出分解后的string
示例:
输入:6
输出:31+33+35+37+39+41

【题目分析】
我们需要用n将m的立方表示出来,然后由连续奇数之和可以设第一个奇数a1=x,然后由等差数列的求和公式可以算出Sm=m*x+(m-1)2,
即可得出关系式m^3=m
x+2 * (m-1) * m
即x=m * m- m+1
因为x为第一项,为了求出x的具体值我们需要用到for循环

【代码】

int main()
{
	int m = 0;
		scanf("%d", &m);
		int n = m * m * m;
		int x = m * m - m + 1;
		for (int i = 1; i <= m; i++)
		{
			if (i == m)
				printf("%d", x);
			else
			{
				printf("%d+", x);
				x += 2;
			}

		}
	return 0;
}

编程题二

等差数列 2,5,8,11,14, … 。(从 2 开始的 3 为公差的等差数列),求等差数列前 n 项和

注意:本题有多组输入
输入描述:输入一个正整数 n 。
输出描述:输出一个相加后的整数
示例:
输入:2 输入:275
输出:7 输出:113575
说明:2+5=7 说明:2+5+...+821+824=113575

【题目分析】
这道题和上一题的解法类似,但是是求的Sn
因此需要设一个sum(即Sn),还有x通过式子sum+=x,x+=3再加上循环即可解决问题

【代码】

#include<stdio.h>
int main()
{
	int n, x = 2, sum = 0;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		sum += x;
		x += 3;
	}
	printf("%d", sum);
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/898970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《算法竞赛·快冲300题》每日一题:“糖果配对”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 糖…

使用自己的领域数据扩充baichuan模型词表(其他模型也一样)

文章目录 前言环境项目结构一、使用步骤二、训练词表三、合并词表四、效果前言 总的来说,扩充词表可以加快解码速度,对于对中文支持不太友好的模型(如llama),扩充词表还能提升模型在中文的表现。 环境 jsonlines==3.1.0 sentencepiece==0.1.99 transformers==4.28.1项目…

【Golang系统开发】搜索引擎(3) 压缩倒排索引表

写在前面 假设我们的数据集中有 800000 篇文章&#xff0c;每篇文章有 200 词条&#xff0c;每个词条有6个字符&#xff0c;倒排记录数目是 1 亿。那么如果我们倒排索引表中单单记录文档id&#xff0c;不记录文档内的频率和偏移信息。 那么 文档id 的长度就必须是 l o g 2 8…

04.Show, Attend and Tell

目录 前言泛读摘要IntroductionRelated Work小结 精读编码器&#xff1a;特征卷积解码器&#xff1a;LSTM网络随机硬注意力和确定软注意力机制硬注意力软注意力双重随机注意力 训练实验数据集评估过程定量分析定性分析 结论 代码&#xff08;略&#xff09; 前言 本课程来自深…

前端单点登录SSO面试回答

JWT鉴权机制 1.JWT用于登录身份验证 2.用户登录成功后&#xff0c;后端通过JWT机制生成一个token&#xff0c;返回给客户端 3.客户端后续的每次请求都需要携带token&#xff0c;放在header的authorization中 4.后端从authorization中拿到token后&#xff0c;通过secretKey进…

密码学学习笔记(二十):DSA签名与X.509证书

数字签名 下图是一个制作以及使用数字签名过程的通用模型。 假设Bob发送一条消息给Alice&#xff0c;尽管消息并不重要&#xff0c;也不需要保密&#xff0c;但他想让Alice知道消息确实是他本人发的。出于这个目的&#xff0c;Bob利用一个安全的散列函数&#xff0c;比如SHA-…

elaticsearch(1)

1.简介 Elasticsearch是一个开源的高扩展的分布式全文检索引擎&#xff0c;它可以近乎实时的存储、检索数据&#xff1b;本身扩展性很好&#xff0c;可以扩展到上百台服务器&#xff0c;处理PB级别的数据。 Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引…

【C++ 记忆站】引用

文章目录 一、引用概念二、引用特性1、引用在定义时必须初始化2、一个变量可以有多个引用3、引用一旦引用一个实体&#xff0c;再不能引用其他实体 三、常引用四、使用场景1、做参数1、输出型参数2、大对象传参 2、做返回值1、传值返回2、传引用返回 五、传值、传引用效率比较六…

电脑提示msvcp140.dll丢失的解决方法,dll组件怎么处理

Windows系统有时在打开游戏或者软件时&#xff0c; 系统会弹窗提示缺少“msvcp140.dll.dll”文件 或者类似错误提示怎么办&#xff1f; 错误背景&#xff1a; msvcp140.dll是Microsoft Visual C Redistributable Package中的一个动态链接库文件&#xff0c;它在运行软件时提…

Scratch 之 算法教程 -- 递归

递归是指物体表现出相似的重复性。它在生活中很常见&#xff0c;如俄罗斯套娃、汉诺塔游戏、分形图案&#xff08;科赫雪花、谢尔宾斯三角形等&#xff09;、两个面对面的镜子、斐波那契数列&#xff0c;二叉树等 在计算机科学中&#xff0c;递归是指函数定义中重复调用自己的行…

【高频面试题】 消息中间件

文章目录 1、RabbitMQ1.1 RabbitMQ-如何保证消息不丢失1.2 RabbitMQ消息的重复消费问题如何解决的1.3 RabbitMQ中死信交换机 ? (RabbitMQ延迟队列有了解过嘛)1.4 RabbitMQ如果有100万消息堆积在MQ , 如何解决(消息堆积怎么解决)1.5 RabbitMQ的高可用机制有了解过嘛 2、Kafka2.…

【数据结构OJ题】有效的括号

原题链接&#xff1a;https://leetcode.cn/problems/valid-parentheses/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 这道题目主要考查了栈的特性&#xff1a; 题目的意思主要是要做到3点匹配&#xff1a;类型、顺序、数量。 题目给的例子是比较…

实现数字化成功:5R模式如何支持车企数字化营销

01 车企进入“大逃杀”时间 汽车行业一边是出口“捷报频传”&#xff0c;一边是内销“压力山大”。 内销的难&#xff0c;在之前中部某省的政府“骨折价”补贴掀起的“价格战”中已经可见一斑。这一颇具标志性的事件反映了汽车行业&#xff0c;尤其是燃油车行业正处在巨大的转…

uni-app 经验分享,从入门到离职(二)—— tabBar 底部导航栏实战篇

文章目录 &#x1f4cb;前言⏬关于专栏 &#x1f3af;关于小程序 tabbar 的一些知识&#x1f3af;创建一个基本的 tabBar&#x1f4dd;最后 &#x1f4cb;前言 这篇文章的内容主题是关于小程序的 tabBar 底部导航栏的入门使用和实战技巧。通过上一篇文章的基础&#xff0c;我们…

学习笔记230801--vue项目图片绝对路径和相对路径引入编译加载问题

问题描述&#xff1a; 在组件中引入图片出现了问题,<img>标签的src属性&#xff0c;动态绑定import引入的绝对路径图片或者直接在src静态引入图片绝对路径都可以在页面渲染出来&#xff0c;在浏览器可以看到路径都转成了dataUrl&#xff0c;但是动态绑定图片的绝对路径却…

7.maven

1 初始Maven 1.1 什么是Maven Maven是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 官网&#xff1a;https://maven.apache.org/ Apache 软件基金会&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受欢迎的开源软件基金会&…

DHCPV6试验1:节点自动发现DHCPV6 Server,LLA地址自动配置,GUA地址配通

1、建的拓朴图如下&#xff1a; * 这里&#xff0c;我们没有配置任何DHCPV6&#xff0c;所有的都是测试自动配置的LLA地址 2、配置路由器和PC&#xff1a; 这里我们设置PC1和PC2为DHCPV6自动获取。AR路由器为全局ipv6&#xff0c;并在节点上配置ipv6 enable。 ipv6 interfa…

VB6编程IEEE浮点算法实践

纯代码实现浮点计算实际上对浮点算法的再实践。IEEE浮点表示法是Modbus RTU协议至今还在用的传送编码&#xff0c;更是WITS 1记录标准的基础。以往实现 MKI、CVI&#xff0c;MKL、CVL&#xff0c;MKS、CVS&#xff0c;MKD、CVD在高级语言里封装了现成的语句&#xff0c;现在Pow…

vue3实现扇形展示

vue3实现扇形展示 效果 html部分 <div class"box1"><div class"box"><div class"single" v-for"(item,index) in arr" :key"index":style"transform:rotate(angle[index]deg);transform-origin: 10px…

LLM应用的例子LLM use cases and tasks

您可能会认为LLMs和生成性AI主要关注聊天任务。毕竟&#xff0c;聊天机器人非常受到关注并且备受瞩目。下一个词的预测是许多不同功能背后的基本概念&#xff0c;从基本的聊天机器人开始。 但是&#xff0c;您可以使用这种概念上简单的技术执行文本生成中的其他各种任务。例如…