上机实验五- 循环结构程序设计 - 答案
更新时间:2024-06-04 12:28:02 阅读量: 综合文库 文档下载
- 上机实验五答案推荐度:
- 相关推荐
上机实验五 循环结构程序设计
姓名:
学号:
姓名:
本次实验一共5个题目,4个必做,一个选做
我建的浙师大c程序设计群,群号为:185106065,大家加入下,验证信息请写为班级+姓名。
我打算以后把每次实验的答案(我写的代码)都放到群共享里面,大家可以在群里讨论下不会的地方或者不同的实现方法。
!!!!!重要提醒:邮件主题和本word文件名统一用 班级+学号+姓名+实验几 命名(学号和姓名记得不能少),不然我在检查作业提交情况时可能会漏掉!!!!!
一.目的要求
1. 掌握用for、while、do-while语句实现循环的基本技巧; 2. 掌握循环次数不确定的解题技巧;
3. 掌握break语句、continue语句在循环语句中的作用以及不同之处; 4. 掌握多重循环的编程技巧。 二.实验内容
【实验题1】. 程序填空:分别用for、while、do-while语句编程,输出菲波那契数列的前20项,要求每行输出10项。
源程序1: 用for语句实现 #include
思考:line 5和line 8行中printf()函数的格式控制符均为”m”, 假如均改为”%d”, 输出结果有何不同?
源程序2: 用while语句实现
#include
{ int i,x1,x2,x; x1=x2=1;
printf(\ /*输出前2项*/
i= 3 ;
while( i <= 20 ){ x=x1+x2;
printf(\
if( i == 0 ) printf(\ x1= x2 ; x2= x ; i++ ; } }
/*每行输出10项*/
源程序3: 用do-while语句实现 #include
【实验题2】(课本p141第10题)有一个分数序列
2/1,3/2,5/3,8/5,13/8,21/13,…
求出这个分数序列的前20项之和。
源代码粘贴处
#include
for(i=1 ; i<=20; i++) { x=x1+x2; sum = sum +x/x2; x1= x2 ; x2= x ; } printf(\}
【实验题3】(课本p141第11题)一个球从100米高度自由落下,每次落地后反跳回原来高度的一般,再落下,再反弹。求它在第10次落地时,共经过多少米,第10次反弹多高。
源代码粘贴处
#include
【实验题4】程序填空:输入一个整数,从高位开始逐位分割各位数字,如输入7358,则输出 7 3 5 8(2007年春笔试真题)
【分析】此题可能有些难度,请仔细按代码行对应的注释思考
我们已经学习了如何用整除运算和求余运算求出一个整数number的位数、以及从低位到高位的各位数字。本题则是从高位向低位逐步分解各个数位,关键是先求出这个整数是几位数?
如果已知number是k位数,那么该整数整除10k-1,就可得到最高位的数字;然后对剩余部分除以10k-2,得到下一个数位上的数字;再对剩余部分除以10k-3,…实例如下:
被除数number k 最高位权重power=10k-1 高位数字number/power 余数 7358 4 1000 7 358 358 3 100 3 58 58 2 10 5 8 8 1 1 8 0 0 -----------结束! 源程序如下:
#include
{ int i, digit, k,power, t ,number;
printf(\ scanf(\ //输入整数number if (number<0) number = -number; //如果number为负数,取其相反数
//求number的位数:k
t=number; /*line 7: 复制number到t */ k =0; do{ k++;
t = t/10 ; }while(t!=0);
//求最高位的权重:power=10k-1 power=1;
for(i=1; i //从最高开始,逐位分解并输出各位数字 while( k--!=0 ){ digit = number/power ; //求当前被除数的最高位数字 printf(\ number = number%power ; //抛弃最高位 power = power/10 ; //缩小权重 } printf(\} 编译、连接并运行程序, 输入-79,输出: 7 9 ; 如果输入4,则输出 4 ; 如果输入27354,则输出 2 7 3 5 4 。 问题1:为什么在Line 7要复制number,而不直接使用number来求位数k? 因为求位数需要t=t/10,如果不复制,直接使用numbe=number/10则会改变number的值。后续程序还会用到number,所以需要复制number给t。 (选做题)【实验题5】程序设计:百文百鸡问题:已知公鸡每只5文钱,母鸡每只3文钱,小鸡1文钱3只,请输出用100文买100只鸡的全部解,即公鸡、母鸡、小鸡应各买几只? 源程序: 源程序: #include #define T 100//此处为了方便修改,比如200文买200只鸡,此处改为#define T 200即可 void main( ) { int cock, hen,chick; for( cock = 0; cock <= T; cock++) for( hen = 0; hen <= T; hen++) { chick = T - cock - hen;//小鸡数 if(chick >= 0 && (chick%3 == 0))//小鸡数要大于等于0,小鸡数必须为3的倍数 if(5*cock+3*hen+chick/3 == T)//判断钱数是否为100 printf(\输出结果 } } 提示: 本题可能需要考虑: 1) 遍历可能出现的所有情况,需要用到双重循环,也可以用三重循环; 2) 需要判断对于给定的一种情况,是否满足其总价为100文,鸡的个数为100个。 本题答案为4种情况。
正在阅读:
上机实验五- 循环结构程序设计 - 答案06-04
保安队管理制度手册11-24
假如我是诸葛亮作文500字06-27
一堂难忘的英语课作文800字07-09
SQL Server测试机试题03-08
拖拉机整机线束起火原因分析与火灾预防03-01
两小时读完美国历史11-06
泉州台商投资区总体规划说明书04-12
- Win7 安装MySql图示
- 计算器课程设计报告
- 部编版八年下语文第三单元第六单元古诗文理解默写练习及答案
- 13质量通病防治方案和施工措施
- 土力学试题~~~~
- 公务员打印资料
- 传热膜系数测定实验报告 - 图文
- 新时期煤矿协管安全工作的创新与实践
- 第五章 习题及参考答案
- 220kV架空线路强条执行记录表
- 音乐欣赏读后感
- 高炉
- 劳动教育需要新的时代内涵
- 10建筑地面工程施工质量验收规范GB50209-20021
- 银行会计练习题2答案
- 2013年七年级地理上册知识点复习提纲湘教版
- 人教版三年级语文上册第四单元测试题(A卷)(有答案)
- 营养师第九章练习题
- 湖北省武汉市2018届高三毕业生二月调研 理综化学
- 行业分析2018-2023年中国男性护肤品行业市场发展分析及投资前景
- 上机
- 程序设计
- 循环
- 答案
- 结构
- 实验
- 文都网校2017考研基础词汇-刘一男(原版 下)
- 荆州中生组织设计
- 地下车库钢筋工程专项施工方案1
- 上海市2018年中考地理试题word版含解析
- 苏教版小学数学一年级分与合集体备课 王峰(2)
- 新目标英语八年级下重点短语及句型总汇
- 高压旋喷止水桩施工作业指导书
- 2018年中国金丝键合机行业研究报告目录
- 小学生作文批改评语精选
- 2X15T超纯水操作维护手册天安环保
- 沙坝镇中心校学生营养餐工作实名制管理岗位责任制
- 六年级分数乘法应用题练习题
- WinForm控件开发基础教程八弹出式编辑对话框
- 电控发动机疑难故障分析
- 第二章 进程管理习题和答案
- 多思善想学习选取立论的角度
- 山东博士解剖真题
- 《投资项目评估》参考题
- 山西省教育厅关于安排2011年教师资格理论考试通知
- 高一经济学复习提纲