- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机二级 C语言 实验报告 样本
循环结构程序设计
实验目的
掌握三种循环语句的格式、执行与设计技巧,掌握分支程序结构与循环程序结构的配合(嵌套)使用,使用常用算法设计相应的程序以解决实际问题;
2.实验重点——三种循环语句及循环嵌套
3.实验难点——循环嵌套
4.实验要求——重点讨论for语句及几种常用的程序设计方法:穷举、递推、迭代法
二、实验原理
1.while语句
while语句的一般形式为:
while (表达式) 语句;其执行准则为当表达式的值为非0 时执 行while中的内嵌语句。
在表达式中,往往有一个变量用来控制循环的结束,这个变量叫循环控制变量。在这种循环中,必须在进入循环之前给循环控制变量赋初值,而在循环体中,还要注意必须有一句使循环控制变量的值改变的语句,
2.do-while语句
一般形式为:do语句 while(表达式);
执行准则为:先执行一次指定的内嵌语句,而后判断表达式,当表达式的值为0时结束循环。
在表达式中,往往有一个变量用来控制循环的结束,这个变量叫循环控制变量。在这种循环中,必须在进入循环之前给循环控制变量赋初值,而在循环体中,还要注意必须有一句使循环控制变量的值改变的语句,
3.for语句 一般形式为: for(表达式1;表达式2;表达式3) 语句; 执行过程为: ① 先求解表达式1; ② 求解表达式2,若其值为真,则执行指定的内嵌语句而后执行下一步;若其值为假,则结束循环; ③ 求解表达式3; ④ 转②; ⑤ 执行for下面的语句。 说明:
① 一般形式中的表达式1可以省略,此时应该在for 语句前给循环变量赋初值;如for ;i 100;i++ sum sum+i; ② 如果表达式2省略,则循环为无限循环;
③ 表达式3 也可以省略,但此时应该另外设法保证循环正常结束;如 for sum 0,i 1;i 100; sum sum+i;i++ ④ 可以只有表达式2,此时完全等同于while语句;
⑤ 三个表达式都可以省略,此时相当于while 1 语句,循环为无限循环;如 for ; ; ⑥ 表达式1和表达式3可以是逗号表达式;
⑦ 表达式2一般是关系表达式。
4.break语句和continue语句
① break语句
一般形式为:break;
其作用是使流程从循环体内跳出循环体。
② continue语句 一般形式为:continue;
其作用是结束本次循环 即结束本次循环体的执行 。
三、实验内容:
1.打印水仙花数(1━━1000)。
A.程序代码
# include stdio.h
main int n,a,b,c;
for n 1;n 999;n++ a n/100;b n-a*100 /10;c n-a*100-b*10 ;/*把数n的个
位,十位,百位分离出来,a代表百位数,b代表十位数,c代表个位数*/
if a*a*a+b*b*b+c*c*c n printf %d\n,n ;/*如果每一位上的数的立方之和
等于数本身,即为水仙花数,输出之*/
else continue;/*否则,去判断下一个数*/
B.实验结果
2.求完数(1━━1000)。
A.程序代码
# include stdio.h
main int i,j,n,k,s;int a[30];/*a[30]是一个整型数组,将在后绪课程中讨论. 此数
组之用途是装一个数的所有因子,由于待判断之最大数是1000,故数组维数用30,保证
足够使用*/
for n 1;n 1000;n n+1 /*对于每个数都要进行判断,用此种循环较方便*/
i 0;s 0; for k 1;k n;k++ /*对于k从1到n,每次增加1,判断k是否是n的因子*/
if n%k 0 ++i;a[i] k;/*如果n被k除尽了,则k是因子,将其放入a[i]中,i初值为0,
每当出现一个因子时,其值自动增1,以便确定相应的下标*/ else continue;
for j 1;j i;j++ s s+a[j];/*对于n的所有因子求其和,放入s中*/
if s n /*如果s与n相等,即一个数的所有因子之和等于数本身,此数为完数,输出之*/
printf %d ,n ;printf its fators are: ;/*它的因子是:*/
for j 1;j i;j++
if j i printf %d ,,a[j] ;/*逐个输出因子*/
else printf %d,a[j] ;printf \n ;/*否则,即s和n不相同时,n不是完数,中断本次
循环,去判断下一个n是否是完数*/
else continue;
B.运行结果
文档评论(0)