



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
循环结构程序设计1 程序填空下面程序的功能为:计算1100之间的偶数之和,完成以下的程序并运行出正确的结果。# include void main()int i,s=0;/*found*/ i=2 ;while(i=100)s=s+i;/*found*/ i+=2 ; printf(“s=%d”,s);运行结果:S=25502 程序改错(1) 下面程序的功能为:计算10!,修改以下的程序并上机运行通过。#include void main()int n,t;for(n=1,t=1,t10,t+);n=n*t;printf(“10!=%dn”,n); 正确的程序:#include void main()int n,t;for(n=1,t=1;t=10;t+) /句尾不能有“;”n=n*t;printf(“10!=%dn”,n); 运行结果:10!=3628800(2) 下面程序的功能为:计算1100之间能被3和7整除的数之和,修改以下的程序并上机运行通过。#include void main()int i,s;s=0;while(i=100);if(i%3=0|i%7=0)s+=i;i=i+1; printf(“s=%d”,s); 正确的程序:#include void main()int i,s;s=0; i=1;while(i=100) /句尾不能有“;”if(i%3=0&i%7=0)s+=i;i=i+1; printf(“s=%d”,s); 运行结果:S=2103、有一个分数序列:2/1、3/2、5/3、8/5、13/8、,编写一个C程序,求出这个数列的前30项之和。解:方法一、单个函数模块:#include void main() int i=1; double t,x=1,y=2,sum=0; while(i=30) sum=sum+y/x; t=y; y=y+x; x=t; i+; printf(%fn,sum);方法二、多个函数模块:#include double fun(int n)double a=1,b=2;double result=0.0;int i;for(i=0;in;i+)result+=b/a;b=a+b;a=b-a;return result;void main()int n=30; printf(%fn, fun(n);运行结果:48.8406014、编写程序,求1!+2!+3!+10!。解法一、递推法:#include void main()int i; int sum=0,f=1; for(i=1;i=10;i+) f= f*i; sum= sum+f; printf(sum=%dn,sum);解法二、递归法:/*递归计算单个整数的阶乘*/#include int sum = 0;int CountSum(int value)if(value = 1)return 1;elsereturn value * CountSum(value - 1);void main()int i;for(i = 1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论