C语言课后习题答案

上传人:积*** 文档编号:122116875 上传时间:2022-07-20 格式:DOC 页数:7 大小:35KB
收藏 版权申诉 举报 下载
C语言课后习题答案_第1页
第1页 / 共7页
C语言课后习题答案_第2页
第2页 / 共7页
C语言课后习题答案_第3页
第3页 / 共7页
资源描述:

《C语言课后习题答案》由会员分享,可在线阅读,更多相关《C语言课后习题答案(7页珍藏版)》请在装配图网上搜索。

1、第四章练习题:1.求21000中的守形数(若某数的平方,其低位与该数自身相似,则称该数为守形数。例如25,25的平方=625,625的低位25与原数相似,则25称为守形数。#include void main()int i=2,n,c;c=0;printf(守形数有:);while(i1001)n=i*i;if(n%10=i)printf(%5d,i);c+;else if(n%100=i)printf(%5d,i);c+;else if(n%1000=i)printf(%5d,i);else(n%1000!=i&n%100!=i&n%10!=i); i+;3.求Sn=a+aa+aaa+aaa

2、之值,其中a代表19中的一种数字。例如:a代表2,则求2+22+222+2222+22222(此时n=5),a和n由#includevoid main()int a,b,n,i=1,sum=0;scanf(%d%d,&a,&n);sum+=a;b=a;while(i!=n)b=b*10+a;sum+=b;i+;printf(%d,sum);键盘输入。2.输入两个正数m和n,求其最大公约数和最小公倍数。#includevoid main()int m,n,r,s,num1,num2;printf(两个正整数:);scanf(%d%d,&m,&n);num1=m,num2=n;while(num2

3、!=0)r=num1%num2;num1=num2;num2=r;s=m*n/num1;printf(最大公因子是:%d,num1);printf(最小公倍数是:%d,s);4.从键盘输入一种正整数n,计算该数的各位数之和并输出。例如,输入数是52446,则计算:5+2+4+6=17并输出。#includevoid main()int a,n,sum=0;scanf(%d,&a);while(a!=0)n=a%10;sum+=n;a=a/10;printf(各位数之和为:%d,sum);5.猴子吃桃子问题。猴子第一天摘下若干个桃子,当即吃了一半,还但是瘾,又多吃了一种。第二天早上又将剩余的桃子

4、吃掉一半,又多吃一种。后来每天早上都吃昨天的一半零一种。到第十天早上一看,只剩余一种桃子了。求第一天共摘了多少个桃子?#includevoid main() int i=0, a=1,sum=0;while(i=10)sum+=a;a=a*2+1;i+;printf(%d,sum);第五章课本练习1. 编一种程序,求费那契(Fibonacci)序列:1,1,2,3,5,8,。请输出前二十项。序列满足关系式:F1=1,F2=1,Fn=Fn-1-Fn-2(其中n为不小于等于3的整数)。#includevoid main()int num1=1,num2=1,i=1;printf(%3d%3d,nu

5、m1,num2);while(i=20)num1=num1+num2;num2=num1+num2;i+;printf(%3d%3d,num1,num2);2祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁。问要过多少年,三个孙子年龄之和同祖父的年龄相等?请编写程序实现。#includevoid main()int a=70,b=20,c=15,d=5,i=0;printf(祖父70,长孙20,次孙15,幼孙5);while(a!=b+c+d)a+;b+;c+;d+;i+;printf(要过%d年三个孙子的年龄相加同祖父的年龄相等,i);2, 求出10个“韩信点兵数”,该数除以3余2,除以5余

6、3,除以7余4(例如53,158,263.)。#includevoid main()int n=1,i=1;printf(10个韩信点兵数有:);while(i=10)if(n%3=2&n%5=3&n%7=4)printf(%5d,n);i+;elsen+;n+;4,读入10个数,计算它们的和、积、平方和及和的平方。#include #include int main() int i=0; int nums10; int sum = 0; int product = 1; int sum_of_square = 0; for( i=0; i10; +i ) printf( 请输入数据: );

7、scanf( %d, &numsi ); sum += numsi; product *= numsi; sum_of_square += (int)pow(double)numsi, 2); printf( n和: %dn积: %dn平方和: %dn和的平方: %dn, sum, product, sum_of_square, (int)pow(double)sum,2) );5.计算并输出1!,2!3!,35!,提示:阶乘成果定义为实型,以便表达较大的数。每个阶乘乘一种数就得到后一种阶乘值。规定用一重循环编程。#includevoid main()int i;float j;for(i=1

8、,j=1;i=35;i+)j*=i;printf(%d!=%fn,i,j);6.计算并输出2n,2-n.已知n=0,1,2,3,15!提示:成果定义为浮点型。不要用指数函数与对数函数运算,用乘2递推计算。#includevoid main()int i=0;float sum1=1,sum2=1;while(i=15)if(i=0)sum1=sum2=1;elsesum1*=2;sum2*=0.5;printf(2(%d)=%fn,2(-%d)=%fn,i,sum1,i,sum2);i+;7.运用下列公式计算并输出的值。/4=1-1/3+1/5-1/7+1/(4n-3)-1/(4n-1) (n

9、=1000)#includevoid main()int n=1;float sum=0;while(n=10000)sum+=1/(4*n-3)-1/(4*n-1);n+; sum*=4;printf(=%f,sum);8.一种球从一百米的高度落下,每次落地后反跳回本来的一半,再落下,以此类推,求它在第10次落地时,共通过多少米?第10次反跳多高?#includevoid main()int i=0,sum=0;float h=100;while(i10)sum+=h;h=h/2;sum+=h;i+;printf(共通过%d米n,sum);printf(第十次反弹高度为:%f,h);9.鸡与

10、兔同笼,其中共有25个头,有80只脚,问笼中鸡和兔各多少只?#includevoid main() int i,j;for(i=1;i25;i+)j=25-i;if(2*i+4*j=80)break;printf(笼中有鸡%d只,有兔%d只,i,j);10.输出1999中能被3整除,且至少有一位数字是5的所有整数。#includevoid main(void)int i;for(i=1;i1000;i+)if(i%3=0)if(i%10=5|i%100=5|1%1000=5)printf(%dn,i);11. 1.求21000中的守形数(若某数的平方,其低位与该数自身相似,则称该数为守形数。例

11、如25,25的平方=625,625的低位25与原数相似,则25称为守形数。#include void main()int i=2,n,c;c=0;printf(守形数有:);while(i1001)n=i*i;if(n%10=i)printf(%5d,i);c+;else if(n%100=i)printf(%5d,i);c+;else if(n%1000=i)printf(%5d,i);else(n%1000!=i&n%100!=i&n%10!=i); i+;12.输入20个数,求出它们的最大值、最小值及平均值。#includevoid main()int a20;int i,max,min

12、;float ave,sum=0;printf(请输入20个数);for(i=0;i20;i+)scanf(%d,&ai);min=a0;max=a0;for(i=0;iai)min=ai;sum=sum+ai;if(minai)max=ai;ave=sum/20.0;printf(最大值是%d,最小值是%d,平均值是%f,max,min,ave);13.输入两个正数m和n,求其最小公倍数。#includevoid main()int m,n,r,s,num1,num2;printf(两个正整数:);scanf(%d%d,&m,&n);num1=m,num2=n;while(num2!=0)r=num1%num2;num1=num2;num2=r;s=m*n/num1;printf(最大公因子是:%d,num1);printf(最小公倍数是:%d,s);14.输入20个数,记录其中正、负和零的个数。#includevoid main()int a20;int i;float z=0,f=0,l=0;printf(请输入20个数);for(i=0;i20;i+)scanf(%d,&ai);for(i=0;i0)z+;if(ai=0)l+;if(ai0)f+;printf(正数有%f个,负数有%f个,0有%f个,z,f,l);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!