




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上机实验五 循环结构程序设计学号:姓名:一目的要求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项term =a/b5) 累加sum=sum+term6) 计算c=a+b,更新b= a,更新a=c7) 计数器加1,i+8) 重复4、5、6、7,直到i209) 输出2位精度的结果/ while语句#include void main()float sum, term, a, b, c;int i;sum = 0;a = 2; b = 1;i = 1;while (i=20) term = a/b;sum = sum + term;c = a+b; b = a;a = c;i+;printf(数列前20项之和为%.2fn, sum);/ do while语句#include void main()float sum, term, a, b, c;int i;sum = 0;a = 2; b = 1;i = 1;do term = a/b;sum = sum + term;c = a+b; b = a;a = c;i+; while (i=20);printf(数列前20项之和为%.2fn, sum);/ for 语句#include void main()float sum, term, a, b, c;int i;sum = 0;a = 2; b = 1;for (i=1; i=20; i+) term = a/b;sum = sum + term;c = a+b; b = a;a = c;printf(数列前20项之和为%.2fn, sum);第2题、计算多项式的值:s=1!+2!+3!+4!+20!算法提示:该多项式迭代公式为:term=term*i,sum=sum+term#include void main()long term, sum;int i;term = 1;sum = 0;for (i=1; i21; i+)term = term * i; / term保存的是阶乘sum = sum + term; /sum为前i项之和printf(前20项阶乘和为%ldn, sum);注:也可以用while和do while循环来实现。在具体实现过程中,注意初值不要写错。第3题、打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#include void main()int i, t, a, b, c;printf(水仙花数有:);for (i=100; i1000; i+)t = i;a = t%10; t = t/10;b = t%10; t = t/10;c = t;if ( i = a*a*a + b*b*b + c*c*c)printf(%d , i); / i为水仙花数, 打印之printf(n);第4题、输入一批正整数,求出其中的偶数之和。(思考:如何表示输入的结束?)/*思路:1)可以以0或是负数作为输入结束标志;2)输入一批数据时,可采用循环策略,其中每一次读取一个整数;3)读入完一个数后,判断其是否为偶数,如果是偶数,则需要求和;*/#include void main()int k, sum;printf(请输入一批正整数:);scanf(%d, &k); sum = 0; /最开始赋初值0给变量while ( k0 )/如果是正整数,那么一直循环,直到输入的为0或负数时停止if ( k%2 = 0) / 如果读入的正整数k为偶数sum = sum + k; / 求和scanf(%d, &k); /继续读入下一个正整数 printf(正整数的偶数和为:%dn, sum);第5题、输入正数n,要求输出Fibonacci数列的前n项。1,1,2,3,5,8#include void main()int i, n, a=1, b=1, t;/a 为数列的倒数第2项, b为数列的倒数第1项,t为临时变量,用于交换a和b的值printf(请输入正整数n(n2):);scanf(%d, &n); printf(Fibonacci数列的前%d项为:, n);printf(%d %d , a, b);for (i=3; i=n; i+) t = a + b; / 最后两项之和a = b; / 倒数第1项变换为倒数第2项b = t; / 倒数第1项为前2项之和printf(%d , b);printf(n);第6题、打印输出以下图案。#include void main()int i, j;/ 下面这个for语句打印前4行*for (i=1; i=4; i+) / 这个for语句打印空格数量for (j=0; j 4-i; j+)printf(%c , ); / 这里也可以是printf( );/ 这个for语句打印*,其中*的数量为2*i-1for (j=0; j 0; i-) / 这个for语句打印空格数量for (j=0; j 4-i; j+)printf(%c , ); / 这里也可以是printf( );/ 这个for语句打印*,其中*的数量为2*i-1for (j=0; j 2*i-1; j+)printf(%c , *); / 这里也可以是printf(* );printf(n);第7题:计算e=1+1/1!+1/2!+1/3!+1/4!.,直到最后一项的绝对值1E-5。(分别用while语句和do.while语句实现)/while语句#include void main()int i;float sum, term, t;/sum为和,term为阶乘, t为阶乘的倒数sum = 1;term = 1.0; i=1;t = 1/term;while ( t1E-5 ) sum = sum + t; i+; /i每次增加1term = term * i; /求阶乘t = 1/term; /阶乘的倒数printf(前n项和为%f.n, sum);/do while语句#include void main()int i;float sum, term, t;/sum为和,term为阶乘, t为阶乘的倒数sum = 1;term = 1.0; i=1;t = 1/term;do sum = sum + t; i+; /i每次增加1term = term * i; /求阶乘t = 1/term; /阶乘的倒数 while ( t1E-5 );printf(前n项和为%f.n, sum);第8题、给出任意一个位数不确定的正整数,要求分别从低位到高位、从高位到低位逐位分割输出。比如输入123456,输出6,5,4,3,2,1和1,2,3,4,5,6#include void main()int i;long k, t;/k存放读入的数;而t为k的反序数printf(请输入一个正整数:);scanf(%ld, &k);t = 0; /其反序数t初始化为0printf(%d的序列为:, k);/while循环目的是分解k成单个数字,同时生成其反序数twhile (k0)i = k%10; / i为k的最后一位;k = k/10; / k每次减少一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书中借款偿还责任与财产分割具体协议
- 特定宗教信仰离婚协议范本及宗教仪式安排
- 涉外合同磋商中的合同法适用与争议解决机制
- 离婚协议补充:婚前财产协议修订及权益保障协议
- 离婚协议书中子女抚养权与赡养费支付协议解析
- 文化创意个人对公司借款及作品权属合同范本
- 夫妻感情破裂离婚协议书汇编与财产分配细则
- 税务筹划与税收筹划咨询与实施顾问服务协议
- 离婚后子女抚养费用调整及探望权变更补充协议范本
- 离婚后同居关系确认与共同财产管理协议范本
- 江苏省镇江市外国语学校2024-2025学年七年级上学期第一次月考数学试题(原卷版)
- 护理疑难病例讨论课件模板
- 同步课件4:改革开放和社会主义现代化建设的巨大成就
- DL-T-1878-2018燃煤电厂储煤场盘点导则
- 【顺丰控股财务报表探析探究14000字(论文)】
- 【农村电商发展探究文献综述与理论基础4500字】
- 地震逃生知识培训
- 《济南市城镇燃气领域重大隐患判定指导手册》
- 人工智能助力企业创新发展
- 资料员之资料员基础知识题库及完整答案(各地真题)
- 卢卡奇的《历史与阶级意识》
评论
0/150
提交评论