岗位职责 实施方案 自查报告 整改措施 先进事迹材料 应急预案 工作计划 调研报告 调查报告 工作汇报 其他范文
首页 > 其他范文 > 其他范文

实验3,循环控制答案

作者:心情坏坏时间:2021-01-11 下载本文

实验三 循环控制 实验课程名:

计 高级语言程序设计 3 循环控制 专业班级:

学号:

姓名:

实验时间:

实验地点:

K4-102 指导教师:

一、实验目的及要求 1.1.熟悉掌握用语句,语句和语句实现循环的方法。

2.掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

二、实验内容 1.(一)程序 c40101.c 求 1+„+100,填空,实现该功能。

#include void main(){ int s,i;s=0;/* 第 第 5 行 */ for(i=1;i<=100;i++)s=s+i;printf("1+...+100=%dn",s);} 思考:第 5 行能不能去掉?其作用是什么? 不用 for 语句,用 while 语句改写该程序,实现同样的功能。

(3)程序运行结果:

(4)结果分析:第五行不能去掉,其作用是赋予 S 初值为 0,以便在 for 循环语句中实现相加。令 i=1,当 i 小于等于 100 时,使 i 逐次加 1,i 每次加 1 时,把 s+i 的值赋值给 s,当 i=101 时,退出循环,并输出 s 的值。

(二)实验任务 2(1)程序代码:

① #include void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;} printf("%d+...+10=%d",n,sum);} ② #include void main(){ int i,n,sum=0;

scanf("%d",&i);n=i;do { sum+=i;i++;} while(i<=10); printf("%d+...+10=%d",n,sum);}(2)程序运行结果:

(3)程序分析:当 i<=10 时,while 循环与 do...while 循环等价。当 i>=10 时,while语句一次也不执行循环体,do...while 语句循环体会执行一次。

(三)实验任务 3(1)程序代码:#include void main(){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;} }(2)程序运行结果:

(3)程序分析:一个整形数除以 10 的余数为该整形数的个数。

(四)实验任务 4(1)   32 1 12 1n F Fn nFn nn或

程序代码:#include void main(){ long int f1, f2;int i,n;printf("Input n:");/* 第 第 5 行 */ scanf("%d",&n);/* 第 第 6 行 */ f1=f2=1;for(i=1;i

(3)程序分析:

先将 f1+f2 的值赋值给 f1,再将 f2+f1 的值赋值给 f2,最后再执行 while 循环,每次输出两个数后换行。

(五)(1)程序代码:#include void main(){ int i,j,x;for(i=0,x=0;i<2;i++){ x++;for(j=0;j<3;j++){ if(j%2)continue;x++;} x++;} printf("x=%dn", x);}(2)运行结果:

(3)程序分析:i、x、j 的初值都为 0,第一个 for 语句:当 i 小于 2 时,i 就每次加1,然后执行嵌套语句。第二个 for 语句:当 j 小于 3,那么 j 就加 1。If 语句:如果 j 能被 2 整除,就结束循环,否则使 x 加 1。逻辑判断语句非 0 即为真,continue 打断本次循环。

(六)(1)程序代码:

#include void main(){ int mark;int n=0 , sum=0;

int max=100 , min=0;for(;;){ scanf("%d", &mark);if(mark > 100){ printf(" Mark > 100 , Please reinput n ");continue;} } if(mark==--1)break;n ++;sum=sum + mark;if(mark > max)max = mark;if(mark < min)min = mark;} } sum=sum/ n;printf("max =%d , min = %d, aver = %d n", max , min , sum);} }(2)运行结果:

(3)程序分析:求一批分数的最高分,则最高分的初始值应该设为 0,然后在循环中逐渐升高,直至求出最高分;求这批分数的最低分,则最低分的初始值设为 100,然后在程序循环中逐渐地降低,直至求出最小值。continue 跳出本次循环,break 跳出整个循环。

(七)(1)程序代码:

#include void main(){ int count1=0,count2=0,count3=0;int i,x;printf("Please input 20 numb ers: n");for(i=0;i<20;i++){ scanf("%d",&x);if(x>=1&&x<=30)count1++;if(x>=31&&x<=60)count2++;if(x>=61&&x<=90)count3++;} }

printf("count1=%d,count2=%d,count3=%d n",count1,count2,count3);} }(2)运 行 结 果 :

(3)程序分析:

用 for 循环 20 次实现该程序的功能:输入一个整数 x,判断该数所在的范围,若 x 是 1~30,则 count1 加 1;若 x 是 31~60,则 count2 加1;若 x 是 61~90,则 count3 加 1。

(八)(1)程序代码:

#include int main(){int n,i;printf("please enter a integer number,n=?");scanf("%d",&n);for(i=2;i<=n--1;i++)if(n%i==0)break;if(i

(3)程序分析:

用 for 循环 2~x-1 的每一个数去除 x,若一个数整除 x,则说明 x 不是素数;否则,x 就是素数。

(九)(1)程序代码:

#include int main(){ { int i,j,k;printf("parcissus number are:");for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)printf(" %d ",i*100+j*10+k);printf(" n");return 0;} }(2)运行结果:

(3)程序分析:利用三重循环,将这三个数通过一定的运算符连接成一个三位数,然后判断是否是水仙花数。

(十)(1)程序代码:

include int main(){ { int i i ,j,k;for(i=0;i<=4;i++)){ { for(j=0;j<=2--j;j++)printf(“ ”);for(k=0;k<=2*i i;k++)printf(“* * ”);print(“ n n ”);};return 0;} }(2)运行结果:

(3)程序分析:

#include > void main(){ char X[][9]={{" "," "," "," ","*"," "," "," "," "},{" "," "," ","*","*","*"," "," "," "},{" "," ","*","*","*","*","*"," "," "}, {" ","*","*","*","*","*","*","*"," "},{"*","*","*","*","*","*","*","*","*"} };int i,j;for(i=0;i<5;i++){ for(j=0;j<9;j++)printf("%c",X[i][j]);printf(" n");};return 0;} }

三、实验小结:

通过本次实验熟练掌握了用 while 语句,do...while 语句和 for 语句实现循环的方法。对程序的调试有了更深刻的理解。

指导教师批阅及成绩 指导教师签名:

2016 年 4 月 25 日

实验3循环结构

控制专业实验

实验代码3

实验3:RIP

实验3,FTP

《实验3,FTP.docx》
实验3,FTP
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
相关文章
猜你喜欢