循环结构程序设计(C语言实验报告)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仲恺农业工程学院实验报告纸
信息学院(院、系) 专业 班 C 语言程序设计 课 实验目的:
(1)熟练掌握用三种循环语句实现循环的方法。
(2)掌握在程序设计中用循环方法实现的一些常用算法。
(3)进一步学习调试程序。
实验内容与总结:
编程练习
1、打印出所有“水仙花数”——教材P129-6.6
程序如下:
#include
void main()
{
int i,j,k,n;
for(n=100;n<1000;n++)
{
i=n/100;
j=(n-i*100)/10;
k=n-i*100-j*10;
if(n==i*i*i+j*j*j+k*k*k)
printf("水仙花数为:%d\n",n);
}
}
(1)程序编制要点:
①用for 语句实现循环;
②立方的表示;
③if 语句的表达。
(2)该题目涉及的知识点和难点:
①for 语句的输入与使用;
②if 语句的使用。
2、用迭代法求a x =
。求平方根的公式为:)(211n
n n x a x x +=+ 程序如下:
#include
#include
void main ()
{
float x1,x2=1,a;
printf("请输入求平方跟的数a=");
scanf("%f",&a);
do
{
x1=x2;
x2=(x1+a/x1)/2;
}
while (fabs(x2-x1)>1e-5);
printf("x的平方根是:%f\n",x2);
}
(1)程序编制要点:
①用do…while语句实现循环;
②平方根公式的输入;
③前后两次求出的x的差的绝对值小于1E-5。
(2)该题目涉及的知识点和难点:
①scanf函数,求绝对值函数fabs;
②do…while语句的输入与使用。
3、猜数字:编程先由计算机“想”一个1到100之间的整数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则结束游戏。
程序如下:
#include
#include
#include
void main()
{
int magic,guess,count=0;
srand(time(NULL));
magic = rand() % 100 + 1; /*magic得到一个1到100的随机数*/
printf("请输入一个1到100之间的数,你共有10次机会:\n");
do
{
scanf("%d",&guess);
count++;
if((guess<=0)||(guess>=100))
{
printf("你输入的数不符合要求,请输入一个1到100之间的数,你还剩%d次机会!\n",10-count);
continue;
}
if(guess>magic)
{
printf("猜错了,你猜的数太大!你还剩%d次机会!\n",10-count);
}
else
if(guess { printf("猜错了,你猜的数太小!你还剩%d次机会!\n",10-count); } if(guess==magic) { printf("恭喜!你猜对了!\n"); printf ("你共猜了%d次\n " , count); } } while((guess!=magic)&&(count<10)); } (1)程序编制要点: ①由计算机想一个数; ②用do…while语句实现循环; ③if语句的嵌套。 (2)该题目涉及的知识点和难点: ①使用srand,rand,time函数; ②magic得到一个1到100的随机数; ③do…while语句的输入与使用; ④if语句的嵌套使用。 程序代码和运行情况描述: 在实验1中,当程序运行时,自动输出所有“水仙花数”。 在实验2中,用do…while语句实现循环,求平方根的公式在循环中执行;用fabs函数实现前后两次求出的x的差的绝对值小于1E-5。 在实验3中,用do…while语句实现循环,猜的次数在循环中自增。用if语句的嵌套来给出提示:当猜错时,告诉人所猜的数是太大还是太小;当输入的数不是1~100之间的数时,提示输入的数不符合要求,并用continue语句让程序继续执行;猜对数字时,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平;如果猜了10次仍未猜中的话,则结束游戏。