嘉应学院 计算机学院
实验报告
第二篇:实验报告 循环结构程序设计
一、实验名称:循环结构程序设计
二、实验目的:
1)熟悉掌握实现循环结构的三种控制语句while、do-while、和for语句。
2)掌握在程序设计中一些常用算法的实现,例如:穷举、迭代、递推等。
3)掌握循环嵌套结构及循环结构与选择结构的综合应用。
4)进一步掌握程序调试的方法。
三、实验内容:
1)打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。
2)北京市体育彩票采用整数1、2、3、……、36表示36种体育运动,一张彩票可选择7种运动。编写程序,选择一张彩票的号码,使得这张彩票的7个号码之和是105且相邻两个号码之差按顺序依次是1、2、3、4、5、6。如果第一个号码是1,则后续号码应该是2、4、7、11、16、22。
四、算法(流程图):
1) 2)
五、测试结果:
1) 153 、 370 、 371 、 407
2) 7 8 10 13 17 22 28
六、实验分析:
1)水仙花数是一个三位数,所以实验中变量取值只需从100开始即可,用循环语句就可以实现对500以内的每一个三位数进行判断。
2)因为每个号码之间的差是1、2、3、4、5、6,所以只需设出第一个号码,然后在第一个号码基础上加上1、3、6、10、15、21分别可以得到后续号码,在判断时候应该是看最后一个号码是否大于36,即a+21<=36,所以第一个数应该不大于15。
七、源程序:
1)#include<stdio.h>
main()
{
int a , b , c , n ;
int sum;
for(n=100;n<=500;n++)
a=n/100;
b=n/10%10;
c=n%10;
sum=a*a*a+b*b*b+c*c*c;
if(n==sum)
printf(“%d\t”,n);
}
2)#include<stdio.h>
main()
{
int a ;
int sum;
for( a = 1;a <= 15 ; a++ )
sum =7 * a + 56;
if(sum == 105)
printf(“%d %d %d %d %d %d %d\n” ,a ,a+1 ,a+3 , a+6 , a+10 , a+15 , a+21 );
}