- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三、 循环结构
一、实验目的
用循环结构解决实际问题;
二、知识点回顾
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 stdio.h
void main()
{
int i,sum=0;
for(i=1;i100;i++);
sum=sum+i; /*累加求和,分析循环起止条件!!*/
printf(“sum=%d\n”,sum);
}
(2)在 VC++编辑环境下编辑源程序。
(3)编译直到程序没有错误。
(4)运行结果:
Eg3-2: 输入一组小于10000的整数,统计其中奇数偶数个数,直到输入的数大于10000为止。(仔细读题,注意终止条件)
(1)算法分析:可设一整型变量 x,循环的输入整数的值,若 x%2==0 即为偶数,否则是奇数。
提示:循环条件可在 while 语句后的括号中出现,也可以用 break 语句控制。
(2)根据分析结果写出源程序。
#include stdio.h
void main( )
{
int x,xo=0,xj=0 ; /* 将偶数个数 xo 与奇数个数 xj 赋 0 值 */
printf(请输入一个不大于10000的整数(超过则程序结束):);
scanf(%d,x); /* 先输入一个整数 */
while(x10000) /* 输入不是回车时循环 */
{
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循环结构
请将程序运行结果粘贴至下面:
三、实验内容二(综合及设计类)
Eg3-3:输入一个整数n,求n!
用循环结构编程:
请将源程序及运行结果粘贴至下面:
源程序:
#include stdio.h
void main()
{
int n,i,j=1;
printf(请输入一个整数\n);
scanf(%d,n);
for(i=1;i=n;i++)
j=j*i;
printf(输入数的阶乘为:%d\n,j);
}
输入 8;
运行结果:
Eg3-4: 输出10~20000之内的所有的质数,并统计输出其个数。
提示:算法请参考课件。统计个数的方法:每当找到一个质数将其输出时,个数就加1个。(双重循环)
请将程序及运行结果粘贴至下面:
程序:
#includestdio.h
main()
{long m,j,i=0;
printf(所有质数是:\n);
#includestdio.h
main()
{long m,j,i=0;
pri
您可能关注的文档
最近下载
- 核工业人工智能科学计算新范式研究与展望.docx VIP
- 詹娜-《客房服务与管理》教案-项目三 客房服务中心运营 典型任务四 管理和控制客房用品.doc VIP
- 主要园艺产品贮藏技术.ppt
- TCDHA504-2021长输供热热水管网技术标准.docx VIP
- 钢结构设计手册.pdf
- 学习2022共青团成立100周年弘扬五四精神挥洒热血青春学习.pptx VIP
- 卫生间防水补漏合同协议书模板.docx
- 质量环境和职业健康安全管理体系内审员培训.ppt VIP
- 三年级下册信息技术苏科版8.1认识自主可控(教案).docx VIP
- 詹娜-《客房服务与管理》教案-项目三 客房服务中心运营 典型任务二 提供对客服务(2).doc VIP
文档评论(0)