实验4循环结构

2018-12-06 19:01

实验四 循环结构程序设计

【实验目的】

1.掌握while、do~while、for语句的语法规则、执行过程和使用方法。 2.理解循环结构的嵌套,循环的中途退出的表示方法。 3.掌握循环结构程序设计方法及典型算法。

【实验内容】 一、程序调试方法实验

xx2xn1、下面是利用公式:e?1??求ex的近似值程序,找出并改正程序中的错误。 ???1!2!n!源程序如下: #include void main()

{ int i;

float a,e,x;

printf(\请输入x的值:\scanf(\e=0; i=0; a=1;

while(a>1e-6); { }

a=a*x/i; e=e+a; i++;

printf(\循环次数为:%d次,e的%d次方为:%f\\n\

}

程序正确的运行结果为:

请输入x的值:1.0

循环次数为:11次,e的1.00次方为:2.718282 Press any key to continue

二、编写程序

1、利用while循环语句编程,求1+2+3+...+50之和,计算结果的输出采用以下形式:

1+2+3+...+50=计算值

#include int main() { int i=1,sum=0; while(i<=50)

{ sum+=i; i++; } printf(\}

2、利用do while循环语句编程,求1+2+3+...+50之和,计算结果的输出采用形式:

1+2+3+...+50=计算值

#include int main() { int i=1,sum=0; do { sum+=i; i++; } while(i<=50); printf(\}

3、利用for循环语句编程,求1+2+3+...+50之和,计算结果的输出采用形式:

1+2+3+…50=计算值

#include int main() { }

int i=1,sum=0; for(;i<=50;i++) sum+=i;

printf(\

4、编程,输入10个整数,求其中正数的个数及其平均值(精确到小数点后两位)。

#include void main() {

int i;

float n,avg=0;

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

scanf(\f\ (不能是lf) avg+=n;

printf(\}

5、编程实现:输入一个整数(不超过5位),要求按逆序输出各位数字,如原数为321,则应输出123。

提示:参照【例4-6】

6、编写一个程序,求两个整数的最小公倍数。

提示:可以参考“最大公约数”的求法,从两个数中较大的一个出发,找到的第一个能被这两个数整除的数,就是最小公倍数。参照【例4-4】

#include void main() {

int a,b,m;

scanf(\m=a>b?a:b;

while(m%a!=0||m%b!=0) m++; printf(\最小公倍数为\

}

7、统计输入的一串字符中每个元音字母(a,e,i,o,u)出现的次数,当输入#时输入结束。 提示:使用循环结构读入字符,循环体内用switch或if…else if…else结构。可参考教材P97【例5-3】和P106【例5-6】 while((c=getchar())!=’#’) { if(c==’a’) { … } else if( ) { … } … else { } } while((c=getchar())!=’#’) { switch() { case ‘a’: ….(略) } } #include void main() {

int a=0,e=0,i=0,o=0,u=0; char c;

scanf(\

while((c=getchar())!='#') {

if(c=='a') a++;

else if(c=='e') e++;

else if(c=='i') i++; else if(c=='o') o++; else if(c=='u') i++;

}

printf(\出现的次数%d\\n\

printf(\出现的次数%d\\n\ printf(\出现的次数%d\\n\ printf(\出现的次数%d\\n\ printf(\出现的次数%d\\n\}

8、输出100~200间的全部素数。 提示:参照【例4-16】 #include #include void main() { }

9、求n!,其中,n为用户输入的任何整数。(n<=50,具体值由用户输入)。 #include #include void main() {

int n,sum=1,i; scanf(\for(i=1;i<=n;i++) int n,i;

for(n=100;n<=200;n++) {

for(i=2;i

if(n%i==0) break;

if(i>sqrt(n))

printf(\

else }

printf(\

}

sum*=i;

printf(\

10、求

?n!,即求1!+2!+…+19!+20!

n?120#include void main() { }

11、编写程序,找出1~999之间的全部同构数。同构数是这样的数,它出现在它的平方数的右边,例如:5是25的右边的数,25是625右边的数,5和25都是同构数。

提示:如何验证m是n右边的数,

若m是个位数,则判断若n-m能整除10,则m是n右边的数; 若m是十位数,则判断若n-m能整除100,则m是n右边的数; 若m是百位数,则判断若n-m能整除1000,则m是n右边的数; #include void main()

{

int n,m;

for(n=1;n<1000;n++) { int sum=1,i,n,k=0; for(n=1;n<20;n++) {for(i=1;i

printf(\

sum*=i; k+=sum;

m=n*n; if(n<10) { if((m-n)==0)

}

printf(\

else if(n<100)

{ if((m-n)0==0) printf(\}

else if(n<1000)

{ if((m-n)00==0)

}

printf(\


实验4循环结构.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小学音乐人教版二年级上册第四单元《(歌表演)小猫钓鱼》比赛获奖

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: