资源描述:
《04单元4循环结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、单元4循环结构程序设计源代码^00X020X0400!1.源代码编号SCO10201040012.源代码来源单元4循环结构程序设计例4-13.例题问题描述编写程序计算1+2+3+...+100。4.程序代码#include#defineN100intadds(void){inti=l,p=0;//变量p称为累加器,初始值设置为0while(i<=N){p=p+i;i++;}returnp;}intmain(){intsum=0;sum=adds();printf("%d",sum);return0;SCO10201040021.源代码来源
2、单元4循环结构程序设计例4-23.例题问题描述利用do-while语句计算1+1/2+1/4+...+1/50。4.程序代码#includefloatadds(intn){floatsum=1.0;inti=2;//i为循环变量do{sum二sum+l.O/i;i+=2;}while(i<=n);returnsum;}intmain(){floatsum;sum=adds(50);printf("%fn,sum);return0;SCO10201040032.源代码来源单元4循环结构程序设计例4-33・问题描述键盘输入一个正整数,逆序输出
3、各位数码,并输出该整数的位数。4.程序代码#includeintdem(intk){intm,n;//m表示当前商n的个位intsum=0;〃变量sum称为计数器,初值设置为0for(n=k;n!=0;n=n/10){m=n%10;〃得到n的个位数sum++;printf(n%dtu,m);}returnsum;}intmain(){intk;intsum;printf(n请输入一个正整数:”);scanf(”%d”,&k);sum=dem(k);printf(n此数是一个%d位数。u,sum);return0;SCO1020104
4、0042.源代码来源单元4循环结构程序设计例4-43・问题描述输出100〜200之间所有的素数,并统计输出此范围内素数的个数。4.程序代码#include#includeintprime(intn){inti,flag=l;for(i=2;i<=sqrt(n);i++){if(n%i==0){flag=0;break;}}returnflag;}intmain(){intn;intcount=0;for(n=101;n<=200;n=n+2)if(prime(n))count++;printf(n%d是素数。u,n);pr
5、intfC'100-200Z间共有%d个素数。n,count);return0;SCO10201040052.源代码来源单元4循环结构程序设计例4-53・问题描述百马百担问题有100匹马,驮100担货,大马驮三担,中马驮两担,两兀小马驮一担,问有大、中、小马各多少?4.程序代码#includevoidhorse(void){intdm,zm,xm;for(dm=1;dm<二32;dm++){for(zm=1;zmv=48;zm++)xm=100-dm-zm;//计算小马的数量if(xm%2==0&&dm*3+zm*2+xm/2==100)
6、{//xm%2==0保证小马的数量是偶数printf("大马:%d,中马:%d,小马:%dH,dm,zm,xm);}}intmain()horse();return0;SCO10201040062.源代码来源单元4循环结构程序设计例4-63・问题描述用递归法求n!4.程序代码#includeintfun(intn){if(n==l
7、
8、n==O)〃递进调用终止条件return1;elsereturnn^fun(n-l);〃利用递归关系进行递归调用}intmain(){intn,m;printf(n请输入一个自然数:”);scanf(,'
9、%d",&n);m=fun(n);〃此处需要注意m的数据类型printf(u%d!=%dn,n,m);return0;SCO10201040072.源代码来源单元4循环结构程序设计例4-73・问题描述汉诺塔问题。4.程序代码#includevoidhanoi(intn,charA,charB,charC){if(n==l){printf("将%d号盘子从%c柱移动到%c柱",n,A,B);}else{hanoi(n-l,A,C,B);printf(n将%d号盘子从%c柱移动到%c柱”,n,A,B);hanoi(n-l,C,B,A)
10、;}}intmain(){intn;p