实验五 循环控制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五循环控制

1.实验目的、要求

熟练掌握用while语句、do-while语句和for语句实现循环的方法。掌握在程序设计中应用循环的方法实现一些常用算法,进一步学习调制程序。

2.实验内容:

(1)编写程序

分别应用while语句、do——while语句和for语句,求出100以内所有奇数和○1for语句:

#include"stdio.h"

int main()

{int i,j=1;

for(i=1;i<99;i=i+2)

{j=j+2;

j=i+j;}

printf("sum=%d\n",j);

return(0);}

○2while语句:

#include"stdio.h"

int main()

{int i=1,j=1;

while(i<99)

{j=j+2;

j=i+j;

i=i+2;}

printf("sum=%d\n",j);

return(0);}

○3do-while语句:

#include"stdio.h"

int main()

{int i=1,j=1;

do

{j=j+2;

j=i+j;

i=i+2;}

while(i<99);

printf("sum=%d\n",j);

return(0);}

运行结果都为2500。

(2)编写程序

输出所有“水仙花数”,“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身,例如:153是一个“水仙花数”,因为153=1*1*1+5*5*5+3*3*3。

程序如下:

#include"stdio.h"

int main()

{int a,b,c,d;

for(b=1;b<10;b++)

{for(c=0;c<10;c++)

{for(d=0;d<10;d++)

{a=b*100+c*10+d;

if(a==b*b*b+c*c*c+d*d*d)

printf("%d\n",a);

}}}

return(0);}

输出结果:153 370 371 407

分析:这是一个循环的嵌套,应该注意逻辑关系。其规则为:先满足外层循环,后满足内层循环。执行一次外层循环,完成其内部所有的内层循环在进入下一次外层循环。百位数字不能为0,循环9次,十位和个位循环10次,故一共循环了900次。包括了所有三位数。(3)编写程序

一球从100m高度自由落下,每次落地后反向跳回原高度一半,在下落,求它在地第10次落地时,共经过多少米?第10次反弹多高?

程序如下

#include "stdio.h"

int main()

{float s,h,i,x=100;

for(i=1;i<=10;i++)

{h=x/2;

s=h+s+x;

x=x/2; }

printf("h=%.10f,s=%.10f\n",h,s);

return(0)}

输出结果:h=0.0976562500,s=299.7070312500

总结分析:注意定义函数,当定义函数为int时,输出结果为h=0,s=1638522,因为int 是整数型函数当除法计算出现小数时会自动省略,导致结果为0。float为单精度浮点型数据,可以保留小数。

相关文档
最新文档