实验项目四结构化程序设计-循环结构word版_第1页
实验项目四结构化程序设计-循环结构word版_第2页
实验项目四结构化程序设计-循环结构word版_第3页
实验项目四结构化程序设计-循环结构word版_第4页
实验项目四结构化程序设计-循环结构word版_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!程序设计基础I实验报告实验项目四:结构化程序设计_循环结构学号1605120308姓名何峰专业、班级计算机类03实验时间2016年12月14日星期三实验地点机房6指导教师孙爱蓉传播优秀Word版文档 ,希望对您有帮助,可双击去除!一、实验目的及要求(1) 熟悉掌握用while语句,dowhile语句和for语句实现循环的方法。(2) 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。(3) 掌握多重循环的选择时机和使用方法; (4) 掌握使用break和continue语句的方法。二、实验设备(环境)及要求使用Visua

2、l C+ 6.0;windows系列操作系统的环境。三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目;例项目名为:2013050201_*_01)1 分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8算法提示:1) 定义实变量sum、term、a、b、c,整变量i2) 初始化: sum=0,分子a=2,分母b=13) 初始化:i(计数器)=14) 计算第i项term =a/b5) 累加sum=sum+term6) 计算c=a+b,更新b= a,更新a=c7) 计数器加1,i+8) 重复4、5、6、7,直到i209) 输出2

3、位精度的结果传播优秀Word版文档 ,希望对您有帮助,可双击去除!#includeint main()float sum,term,a,b,c;int i;sum=0,a=2,b=1,i=1; for(i=1;i21;i+)term=a/b;sum=sum+term;c=a+b,b=a,a=c;printf(前20项的和为:%.2fn,sum);return 0;#includeint main()float sum,term,a,b,c;int i;sum=0,a=2,b=1,i=1; while(i21)term=a/b;sum=sum+term;c=a+b,b=a,a=c;i+;prin

4、tf(前20项的和为:%.2fn,sum);return 0;开始结束sum=0a=2,b=1,i=1i21?是否sum=sum+termc=a+b,b=a , c=ai=i+1term=a/b#includeint main()float sum,term,a,b,c;int i;sum=0,a=2,b=1,i=1; doterm=a/b;sum=sum+term;c=a+b,b=a,a=c;i+;while(i21);printf(前20项的和为:%.2fn,sum);return 0;输出sum传播优秀Word版文档 ,希望对您有帮助,可双击去除!2.计算多项式的值:s=1!+2!+3!

5、+4!+20!算法提示:该多项式迭代公式为:term=term*i,sum=sum+term#includeint main()float term,sum;int i;term=1,i=1,sum=0;while(i=20)term=term*i;sum=sum+term;i+;printf(sum=%fn,sum);return 0;注意:哪些变量需要初始化?变量应采用什么类型?开始结束term=0sum=0i=1i20?i=i+1sum=sum+termterm=term*i输出sum是否传播优秀Word版文档 ,希望对您有帮助,可双击去除!#includeint main()float

6、 term,sum;int i;term=1,i=1,sum=0;while(i=20)term=term*i;sum=sum+term;printf(sum=%.1fn,sum);i+;printf(sum=%fn,sum);return 0;把每一次迭代结果输出,程序应做怎样的修改?3输入正数n,要求输出Fibonacci数列的前n项。1,1,2,3,5,8#include传播优秀Word版文档 ,希望对您有帮助,可双击去除!int main() int a,b,c,n,i;a=1,b=1;scanf(%d,&n);printf(%d,%d,a,b);for(i=3;i=n;i+)c=a+

7、b,a=b,b=c;printf(%d,c);if(i%10=0) printf(n);return 0;4下面是计算s = n!的源程序,在这个源程序中存在若干语法和逻辑错误。 要求在计算机上对这个例子源程序进行调试修改,使之能够正确完成指定任务。例如,8! = 40320。 #include int main() int i, n, s = 1; printf(Please enter n:); scanf(%d, n); #include int main() int i, n, s = 1; printf(Please enter n:); scanf(%d,&n); for(i =

8、1; i = n;i+) s = s * i; printf(%d! = %dn, n, s); return 0; for(i = 1, i =S的 最小整数n”。例如,输入整数为40310,输出结果为n = 8。 要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)传播优秀Word版文档 ,希望对您有帮助,可双击去除!N=n-i开始结束输入sTerms?是否输出nTerm=termi;I=i+1Term=1#includeint main()float S,term=1;int i=1,n;printf(请输入S的值);scanf(%f,&S);while(termS)

9、term=term*i;i+;n=-i;printf(n为 %dn,n);return 0;传播优秀Word版文档 ,希望对您有帮助,可双击去除!5 分析题(1) 先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果 进行比较,若分析有误,试找出原因。 答:要想循环,则while后面不加分号传播优秀Word版文档 ,希望对您有帮助,可双击去除! (2) 若把第5行中的k+改为+k,结果如何 答:输出Final k=1 Final k=26 分析题(1) 先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果 进行比较,若分析有误,试找出原因。 # (2)

10、若把第7行中的i%2改为 !(i%2),结果如何变化?#(3) 若把第7行中的continue改为break,结果如何变化? #传播优秀Word版文档 ,希望对您有帮助,可双击去除!通过(3)的操作,你对break和continue语句有什么认识?break语句跳出循环,不再重复,continue语句本次循环不输出继续执行循环语句7 分析题 (1) 先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果 进行比较,若分析有误,试找出原因。 #*#*#*8 分析题(1) 先分析程序运行的结果,然后上机编辑和运行程序,并将运行的结果与分析的结果进行比较,若分析有误,试找出原因。

11、b=22传播优秀Word版文档 ,希望对您有帮助,可双击去除!(2) 画出程序的流程图。 B=b-5A=a+1B=b+3B%3=1?b20?开始结束A=1,b=1a100?是否是是否否传播优秀Word版文档 ,希望对您有帮助,可双击去除!9 编写一个程序,打印10行杨辉三角。 要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)。传播优秀Word版文档 ,希望对您有帮助,可双击去除!#include stdio.hmain()int a1120,i,j;/初始化for(i=0;i11;i+)for(j=0;j20;j+)aij=0;/给数组附值for(i=0;i10;i+)

12、for(j=0;j=i;j+)if(j1)aij=1;/开头的第一个数为1else if(i=0)break;elseaij=ai-1j-1+ai-1j;/杨辉三角的规律for(i=0;i10;i+)for(j=0;jm3),m和n由用户从键盘上输#include#includeint main()int m,n,i,k,a=0;scanf(%d,%d,&n,&m);for(n;n=m;n+)k=sqrt(n);for(i=2;i=k+1) printf(%d ,n);a=a+1;if(a%10=0) printf(n);return 0;11 输入两个正整数m和n,求其最大公约数和最小公倍数

13、。#includeint main()int m,n,team,a,b,c;printf(输入m和n:);scanf(%d,%d,&m,&n);if(mn)team=n;n=m;m=team;a=m;b=n;while(b)c=a%b;a=b;b=c;printf(最大公约数为:%d,a);printf(最小公倍数为:%dn,(m*n)/a);return 0;12 编程序按下列的级数求cos(x)的值并输出: 要求:x的值由键盘输入(代表弧度),运算精度保持到最后一项的绝对值小于10-6为#include传播优秀Word版文档 ,希望对您有帮助,可双击去除!#includemain()int

14、 n=2,count=1,sign=-1;float x;double sum ,term;printf(input x:);scanf(%f,&x);sum=1;term=1;doterm=-term*x*x/(n*(n-1);sum+=term;n=n+2;count+;while (fabs(term)=1e-6);printf(cos(x)=%fn,sum); 13 编写程序求一个四位数并输出。已知该整数的个数为2,十位为1,且减去7后该数能被7整除,减去8后能被8整除,减去9后能被9整除。#includeint main()int a,b,m;for(a=1;a=9;a+)for(b=0;b=9;b+)m=a*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论