《C语言课后习题答案电子教案.pdf》由会员分享,可在线阅读,更多相关《C语言课后习题答案电子教案.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章练习题:1.求2 1000中的守形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。例如 25,25 的 平 方=625,625的低位2 5与原数相同,则2 5称为守形数。#i ncl ud e v oi d m a i nO(i nt i=2,n,c;c=0;pr i nt f (守形数有:w h i l e(i 1001)(n=i*i;i f (n%10=i)2.输 入 两 个 正数1n和n,求其最大 公 约 数 和 最小公倍数。#i ncl ud e v oi d m a i nOi nt m,n,r,s,num l,num 2;pr i nt f(w 两个正整数:);s
2、ca nf (H%d%d,&m,&n);num l=m,num 2=n;w h i l e(num 2!=0)r=num l%num 2pr i nt f (,%5d,f,i);c+;e l s e i f(n%100=i)pr i nt f(%5d ,i);c+;)e l s e i f(n%1000=i)num l=num 2;num 2=r;s=m*n/num l;)pr i nt f (,f 最大 公 因 子是:%d ,num l);pr i nt f(n 最小 公 倍 数是:d ,s);pr i nt f(n%5dH,i);)e l s e(n%1000!=i&n%100!=i&n%
3、10!=i);i+;4.从键盘输入一 个 正 整 数n,计算该数的各位数之和并输出。例如,输入数 是52446,则计 算:)3.求S n=a+a a+a a a+a a a之值,其中a代表9中的一个数字。例如:a代 表2,则求2+22+222+2222+22222(此时n=5),a和n由#i ncl ud e v oi d m a i nO(i nt a,b,n,i=l,s um=0s ca nf(%d%d”,&a,&n);s um+=a;b=a;w h i l e(i!=n)b=b*10+a;5+2+4+6=17 并输出。#i ncl ud e v oi d m a i nO(i nt a,
4、n,s um=0;s ca nf&a);w h i l e(a!=0)n=a%10;s um+=n;a=a/10;)pr i nt f (,f 各位 数 之 和为:d ,s um);)s um+=b;i+;)pr i nt f(H%dH,s um);键盘输入。5.猴子吃桃子问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃昨天的一半零一个。到第十天早上一看,只剩下一个桃子了。求第一天共摘了多少个桃子?#i ncl ud e v oi d m a i nO|i nt i=0,a=l,s um=0;w h i l e
5、 (i=10)s um+=a;a=a*2+l;i+;)pr i nt f (n%df,s um);第五章课本练习1.编一个程序,求费 那 契(Fi bona cci)序列:1,1,2,3,5,8,O请输出前二十项。序列满足关系式:Fl=l,F2=l,Fn=Fn-l-Fn-2(其中n为大于等于3的整数)。#i ncl ud e v oi d m a i nO(i nt num l=l,num 2=l,i=l;pr i nt f(w%3d%3dw,num l,num 2);2.祖父年龄7 0岁,长 孙2 0岁,次孙15岁,幼孙5岁。问要过多少年,三个孙子年龄之和同祖父的年龄相等?请编写程序实现。#
6、i ncl ud e v oi d m a i nO(i nt a=70,b=20,c=15,d=5,i=0;pr i nt f(H 祖 父7 0,长孙2 0,次孙1 5,幼孙 5);w h i l e(a!=b+c+d)w h i l e (i=20)(num l=num l+num 2;num 2=num l+num 2;i+;pr i nt f(w%3d%3dM,num l,num 2);a+;b+;c+;d+;i+;)pr i nt f (,f 要过 d年三个孙子的年龄相加同祖父的年龄相等二i);2,求 出 10个“韩信点兵 数 数 该数 除 以 3余 2,除以5 余 3,除以 7 余
7、 4(例 如53,158,264,读 入 1 0 个数,计算它们的和、积、平方和及和的平方。#i ncl ud e#i ncl ud e i nt m a i n()(i nt i=0;3.)#i ncl ud e v oi d m a i nO(i nt n=l,i=1;pr i nt f(M1 0个韩信点兵数有:”);w h i l e(i=10)(i nt num s 10;i nt s um=0;i nt pr od uct=l;i nt s um _ of _ s q ua r e=0;f or (i=0;i 10;+i)(pr i nt f。请输入数据:);s ca nf (,r%
8、d,f,&num s i );s um+=num s i;pr od uct*=num s i;s um _ of _ s q ua r e+=(i nt)poi f (n%3=2&n%5=3&n%7=4)w(d oubl e)num s i ,2);pr i nt f(nn 和:d n积:%d n平方和:%d n和的pr i nt f(M%5dw,n);i+;平方:%d n”,s um,pr od uct,sum _ of _ s q ua r e,(i nt)pow()e l s en+;n+;)(d oubl e)s um,2);)5.计算并输出 1!,2!3!,35!,提示:阶乘结果
9、定 义 为 实型,以便表示较大的数。每个 阶 乘 乘 一个数就得到后 一 个 阶 乘值。要求用一重循环编程。#i ncl ud e v oi d m a i nO6,计 算 并 输 出 2n,2-n.已知 n=0,l,2,3,、,15!提示:结果定义为浮点型。不要用指数函数与对数函数运算,用 乘 2 递推计算。#i ncl ud e v oi d m a i nO(i nt i=0;f l oa t s um l=l,s um 2=l;w h i l e (i=15)(i f (i=0)(s um l=s um 2=l;|i nt i;f l oa t j;f or(i=l,j=1;i=35;
10、i+)(j*=i;pr i nt f (M%d!=%f n,f,i,j);)e l s e(s um l*=2;s um 2*=0.5;)pr i nt f(H2(%d)=%f n,2(-%d)=%f nw,i,s um l,i,sum 2);i+;)7.利用下列公式计算并输出冗 的 值。JI/4=1-1/3+1/5-1/7+、+1/(4n-3)-l/(4n-l)(n=1000)#i ncl ud e v oi d m a i nO(8.一 个 球从 一 百 米的高度落下,每次落地 后 反 跳回原来的一半,再落i n t n=l;f l o a t s u m=0;wh i l e (n =1
11、0000)(s u m+=l/(4*n-3)-l/(4*n-1);n+;)s u m*=4;p r i n t f(H 二%f,s u m);下,以此类推,求它在第10次落地时,共经过 多 少米?第10次反跳多高?#i n c l u d e v o i d m a i n()(i n t i=0,s u m=O;f l o a t h=100;wh i l e (i 10)(s u m+=h;h=h/2;s u m+=h;i+;)p r i n t f(共经过%(1米 n,r,s u m);p r i n t f(第十次反弹 高 度为:%fM,h);)9.鸡与兔同笼,其中共有25个头,有8
12、0只脚,问笼中鸡和兔各10.输出9 9 9中能被3整除,且至少有一位数字是5的所有整数。#i n c l u d e v o i d m a i n(v o i d)多少只?#i n c l u d e v o i d m a i n O|i n t i,j;f o r(i=l;i 2 5;i+)j=2 5-i;i n t i;f o r(i=l;i 1000;i+)i f(i%3=0)i f(i%10=5|i%100=5|l%1000=5)i f(2*i+4*j=8 0)br e a k;p r i n t f (笼中有鸡%d只,有 兔 d只p r i n t f (n%d n,f,i);1
13、1.1.求 2 1000中的守 12.输 入 2 0 个形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。例如2 5,2 5 的平方=6 2 5,6 2 5的低位2 5与原数相同,则2 5称为守形数。#i n c l u d e v o i d m a i n O(i n t i=2,n,c;c=0;p r i n t f (n守形数有:wh i l e(i 1001)|n=i*i;i f (n%10=i)(p r i n t f(n%5dH,i);c+;)数,求出它们的最大值、最小 值 及 平 均值。#i n c l u d e v o i d m a i n O(i n t a
14、2 0;i n t i,m a x,mi n;f l o a t a v e,su m=0;p r i n t f(n 请输 入20个数H);f o r(i=0;i 2 0;i+)s c a n f (n%d,r,&a i );m i n=a 0;e l s e i f(n%100=i)m a x=a O ;f o r(i=0;i a i)m i n=a i ;p r i n t f (H%5dn,i);)e l s e(n%1000!=i&n%100!=i&n%10!=i);i+;s u m=s u m+a i ;i f (m i n a i)m a x=a i ;)a v e=s u m/
15、2 0.0;p r i n t f(H 最大值是%d,最小值是 d,平均 值是%f,r,m a x,m in,a v e);)13.输入两个正数m和 n,求其最小公倍数。#i n c l u d e v o i d m a i n O(i n t m,n,r,s,n u m l,n u m 2;p r i n t f (两个正整数:);s c a n f (n%d%d,f,&m,&n);n u m l=m,n u m 2=n;wh i l e(n u m 2!=0)r=n u m l%n u m 2;14.输入20个数,统计其中正、负和零的个数。#i n c l u d e v o i d m a i n O(i n t a 2 0;i n t i;f l o a t z=0,f=0,1=0;p r i n t f (请 输入2 0个数”);f o r(i=0;i 2 0;i+)n u m l=n u m 2 ;n u m 2=r ;s=m*n/n u m l;p r i n t f (最大公因子是:d,n u m l);p r i n t f (最小公倍数是:d,s);s c a n f (n%d,f,&a i D;f o r(i=0;i 0)z+;i f (a i =0)1+;i f(a i 0)f+;)p r i n t f(n 正数有%f个,负数有%个,0有个1);