资源描述:
《实验5循环控制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C语言程序设计》实验报告----------------------------------------------------------------------------------------------实验5循环控制(二)一.实验目的(1)掌握用while语句,do...while语句和for语句实现多重循环的方法(2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)(3)进一步学习调试程序的技巧二.实验内容和步骤1.填空题(1)给定以下程序c5-1.c的功能是打印一个如下的九九乘法表的一部
2、分:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=16#includeintmain(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)printf("%3d*%3d=%3d",i,j,i*j);printf("");}return0;}(2)下面程序c5-2.c的功能是输出以下图形:#includeintmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<
3、=10-i;j++)printf("");for(k=0;k<=2*i;k++)printf("*");printf("");}return0;}(3)下面程序c5-3.c的功能是求出100~300之间的素数和,请把程序补充完整#include#includeintmain(){inti,j,flag,sum=0;for(i=100;i<=300;i++){flag=0;for(j=2;j<=i-1;j++)if(i%j==0){flag=1;break;}if(flag==0)sum
4、+=i;}printf("Thesumis%d",sum);return0;}反思与总结:1.注意(2)题中的i,j,k的初值都为0,所以是3不是4,是2i不是2i+1.10决定了第一个*之前有11个空格;2.(3)题中flag的作用是个标记变量2.改错题(1)以下给定程序c5-4.c的功能是已知一元以下的硬币有一角、二角、五角3种面值,列举出将一元兑成硬币的所有方法。#include#includeintmain(){floati,j,k;for(i=0;i<=2;i++)for(j
5、=0;j<=5;j++)for(k=0;k<=10;k++){if(i*0.5+j*0.2+k*0.1==1.0)printf("%.0f,%.0f,%.0f",i,j,k);}return0;}(2)给定以下程序c5-5.c的功能是输出1~1000之间的所有完数,并输出每个完数的所有因子。所谓完数,就是指一个正数,它的各因数之和等于其自身。#includeintmain(){inti,j,t;for(i=1;i<=1000;i++){t=0;for(j=1;j6、j;if(t==i){printf("%disafullnumber",i);printf("factorsof%dare:t",i);for(j=1;jintmain(){inti,j,t
7、;floatsum;for(i=1,sum=0;i<=20;i++){t=1;for(j=1;j<=i;j++)t=t*j;sum=sum+1.0/t;}printf("sum=%f",sum);return0;}反思与总结:注意t=1的位置,不能将其放在循环之前。(2)用多重循环变成实现打印出所有的“水仙花数”的功能,所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。#includeintmain(){inta,b,c;for(a=1;a<=9;a++)for(b=0;b<=9;b++)f
8、or(c=0;c<=9;c++)if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)printf("%d%d%d是一个水仙花数",a,b,c);return0;}反思与总结:C语言中没有乘方^符号。(3)输入一个正整数,将其逆序输出。#includeintmain