2022年c语言实验报告三答案.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载试验三 循环掌握试验课程名:高级语言程序设计(C)专业班级:学号:姓名:试验时间:试验地点:指导老师:一、试验目的和要求1. 娴熟把握用 while 语句、 do while 语句和 for 语句实现循环的方法;2. 把握在程序设计中用循的方法实现一些常用算法;并进一步学习调试程序的方法;二、试验内容1、任务名称 程序 c40101.c 求 1+ +100,填空,实现该功能;(1、)源代码: #include<stdio.h> int main int s,i; s=0; fori=1;i<=100;i+ s=s+i; printf"1+2+.+100=%dn",s; return 0; 运行结果:(需要截图)(2、)源代码: #include<stdio.h> int main int s=0,i=1; whilei<=100 s+=i; i+; printf"1+2+.+100=%dn",s; return 0; 运行结果:运行结果分析:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载2、任务名称 : 分别运行这两个程序,如输入7,这两个程序的结果分别是多少?如输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区分?(1、)源代码: #include <stdio.h> void main int i,n,sum=0; scanf"%d",&i; n=i; whilei<=10 sum+=i; i+; printf"%d+.+10=%dn",n,sum; 运行结果:(需要截图)(2、)源代码: #include <stdio.h> int main int i,n,sum=0; scanf"%d",&i; n=i; do sum+=i; i+; whilei<=10; printf"%d+.+10=%dn",n,sum; return 0; 运行结果:运行结果分析:3、任务名称:下面程序,如输入 12345,分析输出结果是多少?源代码: #include <stdio.h> void main long data; scanf"%ld",&data; whiledata printf"%ld,",data%10; data=data/10; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载 运行结果:(需要截图)运行结果分析:4、任务名称: 程序 c40104.c 实现求 FibonacciF nFn11Fn2n1 或n2n3数列的前 n 个数;(验证、调试)运行程序,写出运行结果;采纳单步跟踪技术运行该程序,观看一下变量的变化;void 源代码: #include <stdio.h> main long int f1, f2; int i,n; printf"Input n:" scanf"%d",&n; f1=f2=1; fori=1;i<n;i+ printf"%ldt%ldn",f1,f2; f1=f1+f2; f2=f2+f1; 运行结果:运行结果分析:5、任务名称:写出预习结果并上机验证;验证 源代码: #include <stdio.h> void main int i,j,x; fori=0,x=0;i<2;i+ x+; forj=0;j<3;j+ ifj%2 continue; x+; x+; printf"x=%dn", x; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载 运行结果:运行结果分析:6、任务名称:程序c40201.c 输入一批考试分数,用 1 作为终止标志 ,如输入大于100 分,就提示重新输入,然后运算最高分、最低分与平均分;请调试、检查程序中的错误,并改正之;源代码: #include <stdio.h> void main int mark; sum=0 ; int n=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; 运行结果:运行结果分析:7、任务名称 .编程:输入20 个 1 90 的整数,分类统计130、3160、6190 的数各有多少个?源代码: #include<stdio.h> int main int count1=0,count2=0,count3=0; int i,x; printf"Please input 20 numbers:n" fori=0;i<20;i+ scanf"%d",&x; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载ifx>=1&&x<=30 count1+; ifx>=31&&x<=60 count2+; ifx>=61&&x<=90 count3+; printf"count1=%d,count2=%d,count3=%dn",count1,count2,count3; 运行结果:运行结果分析:8、任务名称: .编程:素数是除了一个数,判定该数是不是素数?源代码: #include <stdio.h> void main int i, x; 1 和其本身以外,不能被其他自然数整除的自然数;从键盘输入printf"Enter one natural integer: " scanf"%d",&x; fori=2;i<=x-1;i+ ifx%i=0break; ifi<x printf"%d is not a primer number.n",x; else printf"%d is a prime number.n",x; return 0; 运行结果:运行结果分析:9、任务名称: .编程:显示全部的水仙花数;谓水仙花数,是指一个 数字本身;例,153 是水仙花数,由于 153=1 3+5 3+3 3 ;3 位数,其各位数字立方和等于该源代码: #include<stdio.h> int main int i,j,k; printf"parcissus number are:" fori=1;i<=9;i+ forj=0;j<=9;j+ fork=0;k<=9;k+ 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -优秀学习资料 欢迎下载ifi*i*i+j*j*j+k*k*k=i*100+j*10+k printf"%d,",i*100+j*10+k; return 0; 运行结果:运行结果分析:10、任务名称:编程:输出以下图形;* * * * * 源代码: #include<stdio.h> int main int i,j,k; fori=0;i<=4;i+ forj=0;j<=2-i;j+ printf" " fork=0;k<=2*i;k+ printf"*" printf"n" return 0; 运行结果:运行结果分析:三、结论 (写本次试验的收成)通过本次试验 把握用 while 语句、 do while 语句和 for 语句实现循环的方法,进一步地明白了运行过程中显现的细节问题;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 6 页 - - - - - - - - -