指导书实验三循环结构1.docx

上传人:b****3 文档编号:3845017 上传时间:2022-11-25 格式:DOCX 页数:10 大小:161.21KB
下载 相关 举报
指导书实验三循环结构1.docx_第1页
第1页 / 共10页
指导书实验三循环结构1.docx_第2页
第2页 / 共10页
指导书实验三循环结构1.docx_第3页
第3页 / 共10页
指导书实验三循环结构1.docx_第4页
第4页 / 共10页
指导书实验三循环结构1.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

指导书实验三循环结构1.docx

《指导书实验三循环结构1.docx》由会员分享,可在线阅读,更多相关《指导书实验三循环结构1.docx(10页珍藏版)》请在冰豆网上搜索。

指导书实验三循环结构1.docx

指导书实验三循环结构1

实验三、循环结构

一、实验目的

用循环结构解决实际问题;

二、知识点回顾

●for语句是C语言中最常用的循环结构。

一般形式为:

for(表达式1;表达式2;表达式3)语句;

执行过程如下:

1、计算表达式1。

2、计算表达式2。

如为“真”(非0),则执行for后的语句;如为“假”,则跳出循环体。

3、如表达式2为“真”,则执行完循环体后,计算表达式3的值。

转回步骤2。

最常用的形式是:

for(循环变量赋初值;判断条件;循环变量增值)循环体语句;

●while语句用来实现“当型”循环结构,就是当满足某个条件时进行循环。

形式为:

while(表达式)循环体语句;

当表达式为“真”(非0值)时反复执行后面的语句。

特点是先判断,后执行。

一般来说,while中的语句是复合语句,用{}括起来,叫做循环体。

●do-while语句用来实现“直到型”循环,就是进行循环直到某个条件不满足。

形式为:

do循环体语句;

while(表达式);

当表达式为“真”(非0值)时反复执行do后面的语句,特点是先执行,后判断(注意区分与while语句的区别)。

●while语句和do-while语句可以很容易的实现互相转换。

一般情况下,如果while语句和do-while语句的循环体部分一样,则它们的运行结果也是一样的。

但是,如果判断条件一开始就不满足,则运行结果不一样,因为此时while语句不执行循环体,而do-while语句要执行一次。

三、实验内容一(验证及程序分析)

Eg3-1:

求1+2+3+4+5+„„+100累加和

【说明:

】本题要求完成经典的C算法——累加求和,当我们把计算方法教给计算机后,剩下计算的问题就让计算机来算好了,计算机会像一头老黄牛一样不厌其烦地做事情。

以后会有相似的算法如“连乘”,“求级数”,“求Π”,“求阶乘”等。

(1)源程序:

#include

voidmain()

{

inti,sum=0;

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

sum=sum+i;/*累加求和,分析循环起止条件!

*/

printf(“sum=%d\n”,sum);

}

(2)在VC++编辑环境下编辑源程序。

#include

voidmain()

{

inti,sum=0;

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

sum=sum+i;/*累加求和,分析循环起止条件!

*/

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

}

(3)编译直到程序没有错误。

(4)运行结果:

 

Eg3-2:

输入一组小于10000的整数,统计其中奇数偶数个数,直到输入的数大于10000为止。

(仔细读题,注意终止条件)

(1)算法分析:

可设一整型变量x,循环的输入整数的值,若x%2==0即为偶数,否则是奇数。

提示:

循环条件可在while语句后的括号中出现,也可以用break语句控制。

(2)根据分析结果写出源程序。

#include

voidmain()

{

intx,xo=0,xj=0;/*将偶数个数xo与奇数个数xj赋0值*/

printf("请输入一个不大于10000的整数(超过则程序结束):

");

scanf("%d",&x);/*先输入一个整数*/

while(x<10000)/*输入不是回车时循环*/

{

if(x%2==0)

{

xo=xo+1;

printf("%d是偶数\n",x);

}

else

{

xj=xj+1;

printf("%d是奇数\n",x);

}

scanf("%d",&x);/*循环输入其余整数*/

}

printf("输入的偶数共有%d个,输入的奇数共有%d个\n",xo,xj);

}

以上程序调试运行成功后,改为for循环结构

#include

voidmain()

{

intx,xo=0,xj=0;/*将偶数个数xo与奇数个数xj赋0值*/

printf("请输入一个不大于10000的整数(超过则程序结束):

");

scanf("%d",&x);/*先输入一个整数*/

for(x=1;x<10000;x++)/*输入不是回车时循环*/

{

if(x%2==0)

{

xo=xo+1;

printf("%d是偶数\n",x);

}

else

{

xj=xj+1;

printf("%d是奇数\n",x);

}

scanf("%d",&x);/*循环输入其余整数*/

}

printf("输入的偶数共有%d个,输入的奇数共有%d个\n",xo,xj);

}

请将程序运行结果粘贴至下面:

 

三、实验内容二(综合及设计类)

Eg3-3:

输入一个整数n,求n!

用循环结构编程:

请将源程序及运行结果粘贴至下面:

源程序:

#include

voidmain()

{

inti,sum=1,n;

printf("请输入一个数n:

");

scanf("%d",&n);

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

sum=sum*i;/*累乘求积,分析循环起止条件!

*/

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

}

 

输入8;

运行结果:

 

Eg3-4:

输出10~20000之内的所有的质数,并统计输出其个数。

提示:

算法请参考课件。

统计个数的方法:

每当找到一个质数将其输出时,个数就加1个。

(双重循环)

请将程序及运行结果粘贴至下面:

程序:

#include

voidmain()

{

inti,x,xo=0,xj=0;/*将质数个数xo与素数个数xj赋0值*/

for(x=10;x<=20000;x++)/*输入不是回车时循环*/

{

for(i=3;i

{if(x%i==0)

{

xo=xo+1;

printf("%d是质数\n",x);break;

}

else

{

xj=xj+1;

printf("%d是素数\n",x);break;

}

}

}

printf("10~20000的质数共有%d个,素数共有%d个\n",xo,xj);

}

运行结果:

 

Eg3-5:

编写程序计算:

从公元1年至今年(包含2012年),共经历了多少个闰年,多少个平年。

算法分析:

用一个从1到2012的循环,进行验证,如果满足闰年的条件,即能被4整除但不能被100整除,或能被400整除,则为闰年;否则为平年。

循环中可参照EG3-4中,用两个变量分别存放平年与闰年的数目。

(闰年的判断参考实验二)

(1)请将源程序粘贴到下面。

#include

voidmain()

{

intx,xo=0,xj=0;/*将闰年个数xo与平年个数xj赋0值*/

for(x=1;x<=2000;x++)/*输入不是回车时循环*/

{

if(x%4==0&&x/100==!

0||x/100==0&&x/400==0)

{

xo=xo+1;

printf("%d是闰年\n",x);

}

else

{

xj=xj+1;

printf("%d是平年\n",x);

}

}

printf("公元1年到公元2000年中\n闰年共有%d个,平年共有%d个\n",xo,xj);

}

(2)程序运行结果抓图至下方:

Eg3-6:

编程:

要求打印九九表如下格式:

1*1=11*2=2…..1*8=81*9=9

2*1=22*2=4……2*8=16

…..

9*1=9

(1)请将源程序粘贴到下面。

#include

voidmain()

{

inti,j,k;

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

{

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

{

k=j*i;

printf("%d*%d=%d\t",i,j,k);

}

printf("\n");

}

}

(2)程序运行结果:

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1