- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上机实训(实训四 循环结构程序设计)
实训四 循环结构程序设计
一、实训目的
1、理解C语言循环结构。
2、熟练掌握while、do…while 和for的使用方法。
二、实训内容
1、累加、累积题
程序结果题
(1)求出1-100之间的和,新建一个文件,输入以下程序代码,运行程序,查询运行结果。
#include stdio.h
main()
{
int i=0,s=0;
while(i=100)
{
s+=i;
i++;
}
printf(%d\n,s);
}
运行结果为:5050
如果将循环判断条件改为100,再运行程序,看看程序的运行结果,分析以下原因。
(程序运行结果为4950,因为当i为100时不符合循环条件,退出循环,因此最后只实现了1~99的累加)
思考:怎么将这个程序转换为都do…while和 for形式。
程序编写题
编程:参考上述程序,实现从键盘输入一个整数,实现1~n之间数的累积。即1*2*3*….n
参考程序:
#include stdio.h
main()
{
int i,n;
long s=1;
scanf(%d,n);
for(i=1;i=n;i++)
{
s*=i;
}
printf(%ld\n,s);
}
当输入10,则输出结果为:3628800
程序填空题
2、请补充以下程序,该程序实现的功能是求1+2!+3!+…+N!的和,例如1+2!+3!+…+5!的和为153.
#include stdio.h
main()
{
int i=1,n;
long s=1;
scanf(%d,______1______);
for(i=1;i=n;i++)
{
t=______2________;
s=______3________;
}
printf(1!+2!+3!+…..+%d=%ld\n,n,s);
}
2、整除、取余题型
程序修改题
修改以下程序,实现功能:输出1~100之间所有能被7整除的数。
#include stdio.h
main()
{
int num;
for(num=1;num=100;num++)
{
if(num%7!=0)
continue;
printf(%d ,num);
}
}
#include stdio.h
main()
去除;
{
修改好后
int num;
for(num=1,num=100,num++);
{
if(num%7==0)
continue;
printf(%d ,num);
}
}
思考:如果把continue改为break,结果又什么区别,你能说明continue与break之间的区别吗?
参考分析:用continue的结果为:7 14 21 28 35 42 49 56 63 70 77 82 91 98,用break 的结果为空。可见,continue语句只能用在循环结构当中,其作用时结束本次循环,而不是终止整个循环,而break语句则是结束整个循环过程,不再判断循环条件是否成立。
程序编写题
参考上述程序,实现从键盘输入一个整数,实现输出1~n之间能被7整数,但不能被3整数的数。
参考程序:
#include stdio.h
main()
{
int num,n;
scanf(%d,n);
for(num=1;num=n;num++)
{
if((num%7!=0 )|| (num%3!=0))
continue;
printf(%d ,num);
}
}
如果输入100,则输出结果为21 42 63 84
3、求特殊数题型(以素数为例)
/*注意在退出for循环时的i的值是多少*/
for(i=2;it;i++)
if(t%i==0) __break__; /*判断该数是否能将之间的数整除*/
if(_t==i___)
printf(“YES”);
else
printf(“NO”);
for(i=2;it;i++)
if(t%i==0) ________; /*判断该数是否能将之间的数整除*/
if(_______)
printf(“YES”);
else
printf(“NO”);
解题思路:
判断一个整数t是否为素数,通过for循环语句,比较2至t-1中数,结合if语句,如果能被其中的数整除,说明不是素数,用break语句,跳出循环。如果跳出循环时的i等于t,那说明是因为循环条件不满足跳出循环,即说明其是素数。
思考:补充以下程序,程序实现输出10~20之间的素数。
#include stdio.h
main()
{ int i,j,p;
for(i=10;i=20;i++)
您可能关注的文档
- 5.2串联和并联.doc
- 54青年节口号.doc
- 5A景区标准.doc
- 5、销售员十招化解价格异议.doc
- 5全国主要中药材市场水半夏价格调研.doc
- 5月14日贵金属投资操作建议.doc
- 609学生评语.doc
- 6FY-40P皮芯分离面粉机.doc
- 70城市房价同环比首现双收窄 市场逐步回归理性.doc
- 6岁至18岁是人生黄金时期.doc
- 2023年固原市公务员考试行测试卷历年真题附答案详解(考试直接用).docx
- 2023年庆阳市公务员考试行测试卷历年真题完整答案详解.docx
- 2023年伊春市公务员考试行测试卷历年真题附答案详解(名师推荐).docx
- 2023年张家界市公务员考试行测试卷历年真题完整答案详解.docx
- 2023年临沂市公务员考试行测试卷历年真题及答案详解(必刷).docx
- 2023年大庆市公务员考试行测试卷历年真题完整参考答案详解.docx
- 2023年六盘水市公务员考试行测试卷历年真题精编答案详解.docx
- 2023年长春市公务员考试行测试卷历年真题及答案详解参考.docx
- 2023年奉节县公务员考试行测试卷历年真题附答案详解(名师推荐).docx
- 2023年巫山县公务员考试行测试卷历年真题附答案详解(典型题).docx
文档评论(0)