编程练习(2)

一.选择题

第一题:

考察转义字符和strlen函数求解字符串长度

进一步在VS中可以智能看出哪些字符是转义字符:

因此本体答案选择B

第二题:

本体较为简单,宏定义了三个数N,M,NUM,N值为2,M值为3,因此NUM值为8,答案选B

第三题:

本题考查函数的递归和static修饰局部变量的作用,n首先为1进入函数,i起初也为1在n<5之前函数一直在进行递推进入函数内部知道n>=5,而每次进入函数时候i的值保持了原先值而不是一直为1, 因此最终得出n=7,答案为C

第四题:

本题考查const关键字修饰变量,const放在 * 左边和右边作用是不同的。 因此答案选B

第五题:

  • 对于A选项首先没有定义结构体变量,struct X只是一个类型名,而X只是结构名因此并不能使用sizeof,而对于结构体成员的访问应该用 " . "运算符
  • 对于B选项,对于某个double变量a,使用a == 0.0来判断其是否为零是不正确的。这是**因为double是一种浮点数类型,它在内存中是以二进制形式存储的。由于二进制数的精度有限,有些十进制数(如0.1)并不能被精确地表示,而是被近似为一个有限位数的二进制数。**因此,当我们给double变量a赋值为0.1时,它的实际值并不等于0.1,而是略小于0.1。如果我们用a == 0.0来判断a是否为零,那么结果会是false
  • 对于C选项,初始化方式char a[14] ="Hello, world!";是一种数组初始化的方式,它可以在声明一个char数组时,用一个字符串字面量来给数组的元素赋值但是第二种赋值方式是错误的。
  • 因此最终答案是D

对于A选项我们在VS中验证也可得出就算定义了结构体变量答案仍然是错误的:

"二.编程题:

第一题:

cpp 复制代码
#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
int main()
{
	//输入数字m
	int m;
	scanf("%d", &m);
	//根据观察得出每个数字m的立方拆开的首项是有规律的: 1 3 7 13 21 31 42  。。。。。。。他们之间的差值是正偶数2 4 6 7 810.。。
	//由此便可以创建出一个数组存放首项,之后的每一项都是+2得到的连续的奇数,由此全部相加m个连续奇数即可验证定理
	
	//得到每一个首项
	int arr[100]; 
	int i = 1;
	int n = 0;
	for (int j = 0; j < 100; j++)
	{
		i = i + n;
		arr[j] = i;
		n = n + 2;
	}
	//定理得出:
	if (m >= 1 && m <= 100)
	{
		int k = 0;
		int i = 0;
		if (i < m - 1)
		{
			for (k = arr[m - 1]; i < m - 1; i++)
			{
				printf("%d+", k);
				k = k + 2;
			}
		}
		if (i == m - 1)
		{
			printf("%d", k);
		}
	}
	return 0;
}

注意牛客网是支持使用变长数组的

第二题:

cpp 复制代码
#include<stdio.h>
//HJ100 等差数列
int main()
{
    int n = 0;
    scanf("%d", &n);
    //将等差数列的元素放入数组中
    int arr[1000];

    for (int i = 0; i < 1000; i++)
    {
        arr[i] = 3 * (i + 1) - 1;
    }
    //求和
    int sum = 0;

    if (n >= 1 && n <= 1000)
    {
        for (int j = 0; j < n; j++)
        {
            sum = sum + arr[j];
        }
    }

    printf("%d", sum);

    return 0;
}

此题简单,只需求得等差数列求通项公式即可解题


感谢大佬们的支持。下次见。

相关推荐
程序员-King.2 小时前
day158—回溯—全排列(LeetCode-46)
算法·leetcode·深度优先·回溯·递归
月挽清风3 小时前
代码随想录第七天:
数据结构·c++·算法
小O的算法实验室3 小时前
2026年AEI SCI1区TOP,基于改进 IRRT*-D* 算法的森林火灾救援场景下直升机轨迹规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
小郭团队4 小时前
2_1_七段式SVPWM (经典算法)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·硬件架构·arm·dsp开发
充值修改昵称4 小时前
数据结构基础:从二叉树到多叉树数据结构进阶
数据结构·python·算法
Deepoch4 小时前
Deepoc数学大模型:发动机行业的算法引擎
人工智能·算法·机器人·发动机·deepoc·发动机行业
csdn_aspnet5 小时前
C 语言的优雅回归:从零手造数据结构
c语言·数据结构
浅念-5 小时前
C语言小知识——指针(3)
c语言·开发语言·c++·经验分享·笔记·学习·算法
Hcoco_me5 小时前
大模型面试题84:是否了解 OpenAI 提出的Clip,它和SigLip有什么区别?为什么SigLip效果更好?
人工智能·算法·机器学习·chatgpt·机器人
BHXDML6 小时前
第九章:EM 算法
人工智能·算法·机器学习