资源描述:
《第5章 循环结构程序设计作业参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第5章循环结构程序设计作业参考答案班级学号姓名【第140页】5-1、请画出课本里5.6中给出的3个程序段的传统流程图。(1)程序1:#includeintmain(){inti,j,n=0;for(i=1;i<=4;i++)for(j=1;j<=5;j++,n++){if(n%5==0)printf("");//控制在输出5个数据后换行printf("%dt",i*j);}printf("");return0;}(2)程序2:#includeintmain(){inti,j,n=0;fo
2、r(i=1;i<=4;i++)for(j=1;j<=5;j++,n++){if(n%5==0)printf("");//控制在输出5个数据后换行if(i==3&&j==1)break;//遇到第3行第1列,终止内循环printf("%dt",i*j);}printf("");return0;}(3)程序3:#includeintmain(){inti,j,n=0;for(i=1;i<=4;i++)5for(j=1;j<=5;j++,n++){if(n%5==0)printf("");//控制在输出5个
3、数据后换行if(i==3&&j==1)continue;//遇到第3行第1列,提前结束执行本次内循环体printf("%dt",i*j);}printf("");return0;}(1)程序1流程图(2)程序2流程图(3)程序3流程图5-3、输入两个正整数m和n,求其最大公约数和最小公倍数。#includeintmain()5{longm,n,i=1,j,s;scanf("%ld,%ld",&m,&n);for(;i<=m&&i<=n;i++){if(m%i==0&&n%i==0)s=i;}if(m>=n)j
4、=m;elsej=n;for(;!(j%m==0&&j%n==0);j++);printf("s=%ld,j=%ld",s,j);return0;}5-4、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeintmain(){charc;inti=0,j=0,k=0,l=0;while((c=getchar())!=''){if(c>=65&&c<=90
5、
6、c>=97&&c<=122)i++;elseif(c>=48&&c<=57)j++;elseif(c==32)k++;e
7、lsel++;}printf("i=%d,j=%d,k=%d,l=%d",i,j,k,l);return0;}5-6、求(即求)。#includeintmain(){5doubles=0,t=1;intn;for(n=1;n<=20;n++){t=t*n;s=s+t;}printf("1!+2!+...+20!=%22.15e",s);return0;}5-8、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如153是一个水仙花数,因为153=13+53+33)#in
8、cludeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d",n);}printf("");return0;}5-14、一个球从100米高度自由落下,每次落地后又反弹回原来高度的一半,再落下,再反弹,求它在第10次落地时共经过多少米?第10次反弹多高?#includeintma
9、in(){doublesn=100,hn=sn/2;intn;for(n=2;n<=10;n++)5{sn=sn+2*hn;/*第n次落地时共经过的米数*/hn=hn/2;/*第n次反跳高度*/}printf("第10次落地时共经过%f米",sn);printf("第10次反弹%f米",hn);return0;}5-16、输出以下图案:** * ** * * * ** * * * * * ** * * * ** * **解题思路:此类题目属于二维图形的输出,找到规律的行(此题前4行有一样的规律,后3行一样的规律)#inclu
10、deintmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf("");for(k=0;k<=2*i;k++)printf("*");printf("