c语言参考题目填空题.docx
- 文档编号:11045671
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:15
- 大小:20.29KB
c语言参考题目填空题.docx
《c语言参考题目填空题.docx》由会员分享,可在线阅读,更多相关《c语言参考题目填空题.docx(15页珍藏版)》请在冰豆网上搜索。
c语言参考题目填空题
c语言参考题目---填空题
1.代码填空
如果只提供加减乘除的基本运算能力,你能实现求平方根吗?
可以的!
先随便猜一个根,用它试除目标数字,如果结果恰好等于所猜的数,则问题解决。
否则用结果与所猜的数字的平均值再去试除….
假设待开方的数字为doublea;
doublet=a/2;
doublet2;
for(;;){
t2=a/t;
if(fabs(t-t2)<0.001)break;
t=_________;
}
答案:
(t+t2)/2
注意:
(t+t2)/2.0,(t2+t)*0.5都算对的。
2.代码填空
下列代码把一个串p复制到新的位置q。
请填写缺少的语句;
char*p="abcde";
char*q=(char*)malloc(strlen(p)+1);
for(inti=0;_____________;i++)q[i]=p[i];
参考答案:
i<=strlen(p)
注意:
关键是<=不能写成<,但i 3.代码填空 “考拉兹猜想”(又称3n+1猜想、角谷猜想、哈塞猜想、乌拉姆猜想或叙拉古猜想)和“哥德巴赫猜想”一样目前还没有用数学方法证明其完全成立。 在1930年,德国汉堡大学的学生考拉兹,曾经研究过这个猜想,因而得名。 在1960年,日本人角谷静夫也研究过这个猜想。 该猜想的叙述十分简单: 从任何一个正整数n出发,若是偶数就除以2,若是奇数就乘3再加1,如此继续下去,经过有限步骤,总能得到1。 例如: 17-52-26-13-40-20-10-5-16-8-4-2-1 该猜想虽然没有完全证明,但用计算机验证有限范围的数字却十分容易。 以下是验证的代码,请补全缺少的部分。 for(intn=2;n<=10000;n++) { intm=n; for(;;) { if(__0==m%2__________) m=m/2; else m=m*3+1; if(m==1) { printf("%dok! \n",n); break; } } }; 参考答案: m%2==0 注意: (m%2)==0当然也正确。 4.代码填空 1+3=4,1+3+5=9,1+3+5+7=16它们的结果都是平方数。 这是偶然的巧合吗? 下面代码验证对于累加至1000以内的情况都成立。 试完善之。 intn=1; for(inti=1;i<1000/2;i++) { n+=2*i+1; intm=____________; if(m*m! =n) { printf("加至%d时不成立! \n",2*i+1); break; } } 参考答案: i+1 5.代码填空 给定一个串,例如“abcdefg”,我们希望求出它的反转串,即: “gfedcba”。 下列代码实现反转,请补充空白的部分。 charp[]="abcdef"; for(inti=0;__i { chart=p[i]; p[i]=p[strlen(p)-1-i]; p[strlen(p)-1-i]=t; } 参考答案: i 注意: 不能写成<= 6.代码填空 生活中人们往往靠直觉来进行粗略的判断,但有的时候直觉往往很不可靠。 比如: 如果你们班有30名同学,那么出现同一天生日的概率有多大呢? 你可能不相信,这个概率高达70%左右。 以下的程序就是用计算机随机模拟,再统计结果。 仔细阅读代码,补全空白的部分。 #defineN30 ...... inta[N]; srand(time(NULL)); intn=0; for(intk=0;k<10000;k++) { for(inti=0;i a[i]=rand()%365; booltag=false;//假设没有相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 参考 题目 填空