C语言假期作业 DAY 13

这篇具有很好参考价值的文章主要介绍了C语言假期作业 DAY 13。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、选择题

1、如果 x=2014 ,下面函数的返回值是( )

int fun(unsigned int x)
{
int n = 0;
while(x + 1)
{
n++;
x = x | (x + 1);
} 
return n;
}

A: 20

B: 21

C: 23

D 25

答案解析

正确答案:C

这个作用是对整型中0的个数进行统计,x=x|(x+1);的作用是每次循环把x的二进制中从右往左数的最后一位0变成1,直道变 成全1的时候x+1就溢出为全0,循环结束。2014的二进制是0000 0000 000 0000 0000 0111 1101 1110,所以结果是 23 

2、下列语句定义 x 为指向 int 类型变量 a 的指针,其中哪一个是正确的( )

A: int a , *x = a;

B: int a , *x = &a;

C: int *x = &a , a;

D: int a , x = a; 

答案解析

正确答案: B

A 选项的 x 是指针,赋值时使用 a 不合适, C 选项在赋值时 a 变量还没定义, D 选项中的 x 不是指针。

3、下面有关空指针和未初始化指针,说法错误的是( )

A: 对0x0这个地址取值是非法的

B: 空指针可以确保不指向任何对象或函数; 而未初始化指针则可能指向任何地方

C: 空指针与任何对象或函数的指针值都不相等

D: malloc在其内存分配失败时返回的是一个未初始化的指针

答案解析

正确答案: D

malloc 函数在内存分配失败时返回 NULL ,其余选项都正确

4、若有定义 int a[8]; ,则以下表达式中不能代表数组元素 a[1] 的地址的是( )

A: &a[0]+1

B: &a[1]

C: &a[0]++

D: a+1

答案解析

正确答案: C
D 选项 a 计算时是首元素地址,再加 1 ,就是 a[1] 的地址, AB 明显对, C 选项 a[0] 先和 ++ 结合,形成一个表达式,不能对表达式取地址,会报错

5、以下选项中,对基本类型相同的两个指针变量不能进行运算的运算符是( )

A: +

B: -

C: =

D: ==

答案解析

正确答案: A
A 错误,因为两个地址相加无意义也可能越界,所以规定不允许指针相加。 B 选项,可以求出两个数据元素储存位置之间的相隔同数据类型的元素个数,C 选项,赋值,没问题, D 选项,判断两指针是否相同

二、编程题

1:HJ37 统计每个月兔子的总数

统计每个月兔子的总数_牛客题霸_牛客网 (nowcoder.com)

C语言假期作业 DAY 13,c语言,算法,开发语言

描述

有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问第n个月的兔子总数为多少?

本题有多组数据。

数据范围:每组输入满足 1 \le n \le 31 \1≤n≤31 

输入描述

多行输入,一行输入一个int型整数表示第n个月

输出描述

每一行输出对应的兔子总数

示例1

输入

1 2 3 4 5 9
输出

1 1 2 3 5 34

【答案解析】

这道题的关键在于寻找数字之间的规律,如果细心的同学会发现这其实是一个斐波那契数列。第 n 个月的兔子数量实际上就是第 n - 1 个斐波那契数。

#include <stdio.h>
int main()
{
	int n;
	while (~scanf("%d", &n)) 
	{
		int num1 = 1, num2 = 1, ret = 0;
		for (int i = 2; i < n; i++) 
		{
			ret = num1 + num2;
			num1 = num2;
			num2 = ret;
		}
		printf("%d\n", ret);
	}
	return 0;
}

2:ZJ16 数列的和

数列的和_牛客题霸_牛客网 (nowcoder.com)

描述

数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

输入描述

输入数据有多组,每组占一行,由两个整数n(n<10000)和m(m<1000)组成,n和m的含义如前所述。

输出描述

对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。

示例1

输入

81 4
2 2
输出

94.73
3.41

【答案解析】

求取一个数字的平方根可以使用数学库中的 double sqrt(double num) 函数完成,接下来只需要从数字自身开始进行求和并在求和后将 n 自身计算成为自身的平方根即可。文章来源地址https://www.toymoban.com/news/detail-640795.html

#include <stdio.h>
#include <math.h>
int main()
{
	double m, n;
	while (~scanf("%lf %lf", &n, &m)) 
	{
			double sum = 0;
		while (m-- > 0)
		{
			sum += n;//从自身开始以及每次的平方根进行求和
			n = sqrt(n);//n成为当前自身的平方根
		}
		printf("%.2lf\n", sum);
	}
	return 0;
}

到了这里,关于C语言假期作业 DAY 13的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 假期2.13

    1、选择题 1.1、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a 数组的第10个元素是 D A)a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 1.2、有数组 int   a[5] = {10,20,30,40,50},  以下表达式编译错误是_____ B______。 A)   a ++ ;  B)   a[5] =  20  ; C)  a + 20  ; D)   (a-3,   a[3]) ; 1.3、以下错

    2024年02月21日
    浏览(41)
  • NNDL 作业13 优化算法3D可视化

    编程实现优化算法,并3D可视化 :   : NNDL实验 优化算法3D轨迹 鱼书例题3D版_优化算法3d展示-CSDN博客 从轨迹、速度等多个角度讲解各个算法优缺点 : :   先简述算法:  SGD(随机梯度下降):SGD是最基本的优化算法之一,它在每次更新模型参数时仅考虑单个样本的梯度。由于随

    2024年02月03日
    浏览(46)
  • 国庆假期day5

    1.OSI七层模型: 应用层--------提供函 表示层--------表密缩 会话层--------会话 传输层--------进程的接收和发送 网络层--------寻主机 数据链路层----相邻节点的可靠传输 物理层--------二进制比特流 OSI四层(五层)模型: 应用层 传输层 网络层 数据链路层+物理层-----网络接口和物理

    2024年02月07日
    浏览(35)
  • 【23-24 秋学期】NNDL 作业13 优化算法3D可视化

    分别画出  和  的3D图 代码如下: 分别画出  和  的3D轨迹图 (1) 结果如下:  (2) 结合3D动画,用自己的语言,从轨迹、速度等多个角度讲解各个算法优缺点 Animations that may help your intuitions about the learning process dynamics.  Left: Contours of a loss surface and time evolution of different

    2024年02月04日
    浏览(38)
  • 【驱动开发day2作业】

    head.h mychrdev.c led.c

    2024年02月15日
    浏览(38)
  • 【驱动开发day4作业】

    头文件代码  应用层代码  驱动代码

    2024年02月15日
    浏览(37)
  • 【驱动开发day3作业】

    head.h  应用层代码 灯驱动代码 蜂鸣器驱动代码 风扇驱动代码 马达驱动代码  测试结果:    

    2024年02月15日
    浏览(38)
  • 【驱动开发day8作业】

     作业1: 应用层代码 驱动代码 作业2 驱动代码

    2024年02月14日
    浏览(34)
  • C语言:选择+编程(每日一练Day13)

    目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:统计每个月兔子的总数 思路一: 题二:数列的和 思路一: 本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵! 感谢大佬们的一键三连! 感谢大佬

    2024年02月08日
    浏览(49)
  • day52 算法训练|动态规划part13

    参考:代码随想录 1. dp[i]的定义 本题中,正确定义dp数组的含义十分重要。 dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度 为什么一定表示 “以nums[i]结尾的最长递增子序” ,因为我们在 做 递增比较的时候, 如果比较 nums[j] 和 nums[i] 的大小,那么两个递增子序列

    2024年01月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包