C语言循环语句实验报告.docVIP

  • 301
  • 0
  • 约2.59千字
  • 约 7页
  • 2017-11-01 发布于重庆
  • 举报
C语言循环语句实验报告

C语言程序设计实验报告 实验名称 循环控制语句 学 院 机械工程与自动化 专业班级 机械1003 姓 名 学 号 任课教师 实验时间 2011.10.26 实验目的 熟练掌握while语句、do-while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三种循环语句实现循环结构; 掌握简单、常用的算法,并在编制过程中体验各种算法的编程技巧; 进一步学习调制程序,掌握语法错误和逻辑错误的检查方法。 实验内容 作业一:输入两个正整数m和n,求他们的最大公约数和最小公倍数。 作业二:输出1000以内最大的10个素数以及他们的和。 作业三:根据公式π^2/6=1/1^2+1/2^2+1/3^2+……+1/n^2,求出π的值。 算法描述流程图 作业一流程图: 作业二流程图: 作业三流程图: 源程序 作业一: main() { int m,n,i,j,s; printf(Please input two number=); scanf(%d,%d,m,n); for(i=1;i=mi=n;i++) { if(m%i==0n%i==0) s=i; } if(m=n) j=m; else j=n; for(;!(j%m==0j%n==0);j++); printf(s=%d,j=%d\n,s,j); } 作业二: #includestdio.h int sushu(int j) {int m; for(m=2;m=j/2;m++) {if(j%m==0) return 0;} return 1; } main() { int k,s=0,a[1000],b[1000],x=0,y=0,sum=0,add=0,z=0; { for(k=3;k=1000;k+=2) { if(sushu(k)) { a[s]=k; add+=a[s]; s++; } } } if(s10) { for(x=0;x10;x++) { b[x]=a[--s]; sum+=b[x]; } for(y=0;y(x-1);y++) { printf(%d+,b[y]); } printf(%d=%d\n,b[y],sum); } else { printf(the number of sushu is less than 10!\n); for(z=0;z(s-1);z++) { printf(%d+,a[z]); } printf(%d=%d,a[z],add); } } 作业三: #includemath.h #includestdio.h main() { int n,m; float s,pi; printf(Please input a number:); s=0,m=1; scanf(%d,n); while(m=n) { s=s+1.0/(m*m); m=m+1; } n=m-1; pi=sqrt(6*s); printf(n=%d,pi=%f,n,pi); } 测试数据 作业一:“5,65” “92,92” “75,35” 作业三:“20” “50” “100” “200” 运行结果 作业一运行结果: 作业二运行结果: 作业三运行结果: 出现问题及解决方法 在输入一个数(例如m)的平方是C语言中不存在m^2的形式,而是m*m的形式,实验过程中开始的程序无法运行,原因是某些函数变量名在使用前没有定义,循环在嵌套使用过程中出现交叉错误,部分函数名的参数定义错误。改正的方法是在运行的过程中定义变量

文档评论(0)

1亿VIP精品文档

相关文档