教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

湖北理工学院c语言实验报告三答案(完整版)

来源:网络收集 时间:2026-07-13
导读: 实验三 循环控制 实验课程名:高级语言程序设计(C) 专业班级: 学号: 姓名: 实验时间: 实验地点: 指导教师: 运行结果: (需要截图) 运行结果分析: 2、源代码: #include stdio.h void main() { int i,n,sum=0; scanf(%d,i); n=i; do { sum+=i; i++;

实验三 循环控制

实验课程名:高级语言程序设计(C)

专业班级: 学号: 姓名:

实验时间: 实验地点: 指导教师:

运行结果: (需要截图)

运行结果分析: 2、源代码: #include <stdio.h> 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); } 运行结果: (需要截图)

运行结果分析:当 i<=10 时,while 循环与 do…while 循环等价。当 i>10 时, while 语句一次也不执行循环体,do…while 语句会执行一次循环。也即:while 语 句先判断后执行,而 do…while 语句先执行后判断后。 3、任务名称 源代码: #include <stdio.h> void main( ) { long data; scanf("%ld",&data); while(data) { printf("%ld,",data%10); data=data/10; } } 运行结果: (需要截图)

运行结果分析:注意程序中的“/”该符号为取余。 4、任务名称 源代码:

#include <stdio.h> void main( ) { long int f1, f2; int i,n; printf("Input n:"); /* 第 5 行 */ scanf("%d",&n); /* 第 6 行 */ f1=f2=1; for(i=1;i<n;i++) { printf("%ld\t%ld\n",f1,f2); /* 第 9 行 */ f1=f1+f2; f2=f2+f1; } }

运行结果: (需要截图)

运行结果分析:先将 f1+f2 的值赋给 f1,再将 f2+f1 的值赋给 f2,最后再执行 while 循环,每次输出两个数后换行。 5、任务名称 源代码:#include <stdio.h> 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=%d\n", x); }

运行结果: (需要截图)

运行结果分析:嵌套 for 循环的执行过程及 continue 语句的作用。 6、任务名称 源代码:

#include <stdio.h> void main( ) { int mark; int n=0 , sum=0 ; int max= 0 , min=100 ; 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); } 运行结果: (需要截图)

运行结果分析:题目中的程序有多处错误:首先,sum,min 没定义;其次, for 后不能有“;” ;再者,printf 中的“Mark”是大写,这与 int 中的定义不符,应 改为“mark” ;最后,求一批分数的最高分,则最高分的初始值应该设为 0,然后 在程序循环中逐渐地升高,直至求出最高分;求这批分数的最低分,则最低分的初 始值设为 100,然后在程序循环中逐渐地降低,直至求出最小值。Continue 跳出本 次循环,break 跳出整个循环。 7、任务名称 源代码: #include <stdio.h> void main( ) { int count1=0,count2=0,count3=0; int i,x; printf("Please input 20 numbers:"); 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); } 运行结果: (需要截图)

运行结果分析:用 for 循环 20 次实现该程序的功能:输入一个整数 x,判断该 数所在的范围,若 x 是 1~30,则 count1 加 1;若 x 是 31~60,则 count2 加 1;若 x 是 61~90,则 count3 加 1。 8、任务名称 源代码: #include <stdio.h> void main( ) { int i, x; printf("Enter one natural integer: "); scanf("%d ",&x); for(i=2;i<x-1;i++) if(x%i==0)break; if(i<x) printf("%d is not a primer number.\n",x); else printf("%d is a prime number.\n",x); } 运行结果: (需要截图)

运行结果分析:用 for 循环 2~x-1,用 2~x-1 的每一个数去除 x,若有一个数 整除 x,则说明 x 不是素数;否则,x 就是素数。 9、任务名称 1、源代码: #include<stdio.h> int main() { int i,j,k;

printf("parcissus number are:\n"); 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\t",i*100+j*10+k); return 0; } 运行结果: (需要截图)

运行结果分析:利用三重循环,将这三个数通过一定的运算符连接成一个 3 位数,然后判断是否是水仙花数。 2、源代码: #include<stdio.h> int main() { int i,j,k,n; printf("parcissus number are:\n"); for(n=100;n<1000;n++) { i=n/100; j=n/10-i*10; k=n%10; if (n==i*i*i+j*j*j+k*k*k) printf("%d\t",n); } printf("\n"); return 0; } 运行结果: (需要截图)

运行结果分析:利用一个循环,对 100~999 范围内的每个 3 位数逐位分离后 进行判断。 10、任务名称 源代码: #include<stdio.h> int main() {int i,j,k; for(i=0;i<=4;i++) {for(j=0;j<=3-i;j++) printf(" ");

说明:

1、 每次实验报告后,以学生的学号+实验项目名作为该word文件名保存。例如某学

生学号为20080001,姓名为张三,本次实验名称是:实验一 顺序结构程序设计,则本次实验报告的保存文件名为:01张三实验一.doc。(禁止提交文件夹) 2、 在每次试验完后内,学生以整个试验项目为一个完整文档,将本报告(电子文档和

纸质文档)按照(1)要求的文件名提交给实验指导教师。

…… 此处隐藏:1372字,全部文档内容请下载后查看。喜欢就下载吧 ……
湖北理工学院c语言实验报告三答案(完整版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1584270.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)