上机实验五 循环结构程序设计一(带参考答案)

上传人:第*** 文档编号:33525021 上传时间:2018-02-15 格式:DOC 页数:13 大小:60.50KB
返回 下载 相关 举报
上机实验五 循环结构程序设计一(带参考答案)_第1页
第1页 / 共13页
上机实验五 循环结构程序设计一(带参考答案)_第2页
第2页 / 共13页
上机实验五 循环结构程序设计一(带参考答案)_第3页
第3页 / 共13页
上机实验五 循环结构程序设计一(带参考答案)_第4页
第4页 / 共13页
上机实验五 循环结构程序设计一(带参考答案)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《上机实验五 循环结构程序设计一(带参考答案)》由会员分享,可在线阅读,更多相关《上机实验五 循环结构程序设计一(带参考答案)(13页珍藏版)》请在金锄头文库上搜索。

1、上机实验五 循环结构程序设计(一)一目的要求1掌握 while、do-while、for 语句的语法规则、执行流程。2比较 3 种循环语句的异同。3按题目要求,完成代码。二实验内容思考问题:3 种循环的异同点?能否相互转换?for 循环控制单元的表达式与 while 循环中表达式是如何对应的?第 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 项

2、term =a/b5) 累加 sum=sum+term6) 计算 c=a+b,更新 b= a,更新 a=c7) 计数器加 1,i+8) 重复 4、5、6、7,直到 i209) 输出 2 位精度的结果编写程序:方法一,用 while 语句:#includevoid main()float s=0, a=2,b=1,c;int i=1;while(ivoid main()float s=0,a=2,b=1,c;int i=1;do s=s+a/b;c=a+b;b=a;a=c;i+; while(ivoid main()float s=0,a=2,b=1,c;int i;for(i=1;ivoid

3、main()int i;double s=0,fact=1;for(i=1;iint main()int n,i;float x,s=0;printf(请输入 x,n,以,分隔);scanf(%f,%d,for(i=1;iint main()int sum=0,n; printf(请输入若干正整数,以空格分隔,并以 0 表示结束);scanf(%d,while(n0)if(n%2=0) sum+=n;scanf(%d,printf(sum=%d,sum);第 6 题、输入 x,计算并输出下式的值:s=x/(1*2)+x/(3*4)+x/(5*6)+直到最后一项的绝对值小于 1E-5 参考答案:

4、#include #include int main()float sum,x,item;int i=1;printf(请输入 x=);scanf(%f, doitem=x/(i*(i+1);sum+=item;i+=2;while(fabs(item)=1E-5);printf(sum=%f,sum);第 5 题、输入正数 n,要求输出 Fibonacci 数列的前 n 项。1,1,2,3,5,8参考答案:#include #include int main()long x1=1,x2=1,x,n,i;printf(请输入 n=);scanf(%d,printf(%dt%dt,x1,x2);

5、for(i=3;i#includeint main()int flag=1;float sum=0,n=2,item;doitem= flag*1/n;sum+=item;flag=-flag;n+=3; while(fabs(item)=1E-5);printf(sum=%f,sum);第 7 题:计算 e=1+1/1!+1/2!+1/3!+1/4!.,直到最后一项的绝对值#includevoid main()float sum=1,item=1;int fm=1,i=1;do sum=sum+item;i+;fm*=i; item=1.0/fm;while(fabs(item)=1E-5)

6、;printf(e=%fn,sum);printf(谢谢,按回车键结束 );(While 语句)#include #includevoid main()float sum=1,item=1.0;int fm=1,i=1;while(fabs(item)=1E-5)sum=sum+item;i+;fm*=i;item=1.0/fm;printf(e=%fn,sum);printf(谢谢,按回车键结束 );第 8 题、给出任意一个位数不确定的正整数,要求分别从低位到高位、从高位到低位逐位分割输出。比如输入 123456,输出 6,5,4,3,2,1 和 1,2,3,4,5,6从高位到低位的参考答案

7、: #include int main()long n,t=1;printf(请输入一个长整数 n=);scanf(%ld,while (n/t!=0)t*=10;t/=10;while (t!=0)printf(n%dt%dt%d,n,t,n/t);n=n%t;t=t/10;putchar(n);从低位到高位的参考答案#include int main() long n,t=1;printf(请输入一个长整数 n=);scanf(%ld,while (n!=0)printf(n%dt%d,n,n%10);n/=10;putchar(n);第 9 题、36 块砖 36 人搬,男搬 4 女搬 3

8、,小孩 2 人搬 1 砖。要求一次全搬完,问男、女、小孩各需多少(人)?如有多种方案,输出第一种方案及方案的数量。算法提示:设 x,y,z 表示男、女、小孩的人数,则有不定方程:x+y+z=364x+3y+z/2=36对 x,y,z 所有可能的组合测试出满足条件的解。x、y、z 的取值范围: x:19,步长 1 y:1 12,步长 1 z:236,步长 2对 x,y,z 所有可能的组合重复测试条件:4*x+3*y+z/2=36 &x+y+z=36是否成立,若成立则打印出 x、y、z 的值。编写程序:#includevoid main()int x,y,z;for(x=1;x=9;x+)for(y=1;y=12;y+)for(z=2;z=36;z=z+2)if(x+y+z=36 & 4*x+3*y+z/2=36)printf(“%d,%d,%dn”,x,y,z);3,3,30

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号