C语言博客作业--嵌套循环

本文分享了PTA实验作业的解题思路,包括换硬币、歌唱比赛评分系统和餐饮服务质量调查打分三个问题的解决方法。同时,对比分析了同学间的代码差异,总结了嵌套循环的应用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、PTA实验作业

题目1:换硬币

1. 本题PTA提交列表

1232103-20171111203046075-483493032.png

2. 设计思路

(1)定义整型变量x存放待换零钱,定义整型变量fen5,fen2,fen1分别存放5分,2分和1分硬币的数量,定义整型变量count和total存放换法个数和硬币总量,且赋初值count=0
(2)输入零钱x
(3)fen5=x/5
(4)fen2=x/2
(5)fen1=x
(6)total=fen5+fen2+fen1,如果fen1+2fen2+5fen5==x则输出fen5,fen2,fen1的值且count的值+1
(7)fen1--,当fen1>=1时重复步骤(6)(7)
(8)fen2--,当fen2>=1时重复步骤(5)(6)(7)(8)
(9)fen5--,当fen5>=1时重复步骤(4)(5)(6)(7)(8)(9)
(10)输出count的值

3.本题调试过程碰到问题及解决办法

- (1)结果没能按按5分、2分和1分硬币的数量依次从大到小的顺序输出。

解决办法:将for语句的表达式由原来的fenN=0;fenN<=x/N;fenN++改为fenN=x/N;fenN>=1;fenN--(N=5、2、1)

题目2:歌唱比赛评分系统

1. 本题PTA提交列表

1232103-20171111210037169-1003493172.png

2. 设计思路

(1)定义整型变量repeat存放运算次数,定义整形变量n存放评委个数和打分个数,定义整型变量i,j存放循环次数。定义浮点型变量socre和sum存放最终成绩和所有评委评分之和,定义浮点型变量max和min存放最高评分和最低评分,定义浮点型变量grade1和grade存放第一位评委的评分和其余评分
(2)输入运算次数repeat
(3)i=1
(4)输入评委个数即打分个数n,输入第一位评委的评分grade1,赋值max=grade1,min=grade1,sum=grade1,i++
(5)j=1
(6)输入其余评分grade,如果grade>=max则赋值max=grade否则如果grade<=min则赋值min=grade。sum=sum+grade,j++
(7)输出score=1.0*(sum-max-min)/(n-2)的值
(8)当j<=n-1时重复步骤(6)
(9)当i<=repeat时重复步骤(4)(5)(6)(7)

3.本题调试过程碰到问题及解决办法

- (1)因为没有换行导致格式错误

解决办法:在输入repea的值和n的值后,输出score的值后换行

- (2)没有给max和min赋初值使得无法判断评分中的最大和最小值

解决办法:在输入全部评分前先输入第一个评分grade1并赋值给max和min然后再判断其余评分grade与max和min的大小关系

题目2:餐饮服务质量调查打分

1. 本题PTA提交列表

1232103-20171111213640591-2146101452.png

2. 设计思路

(1)定义整型变量repeat存放运算次数,定义整型变量i,j存放循环次数,定义整型变量n存放打分个数,定义整型变量rank,A=0,B=0,C=0,D=0,E=0存放评分等级和具体五个等级
(2)输入运算次数repeat
(3)i=1
(4)输入打分个数n,
(5)j=1
(6)输入评分等级rank,判断ank的值,如果rank==1则A++,rank==2则B++,rank==3则C++,rank==4则D++,rank==5则E++
(7)输出1:
(8)判断A的值,如果A==0则不输出
(9)当A>0时重复进行输出*和A--
(10)输出2:
(11)判断B的值,如果B==0则不输出
(12)当B>0时重复进行输出*和B--
(13)C,D,E以此类推,j++
(14)当j<=n时重复步骤(6)~(13)
(15)输出换行符,i++
(16)当i<=repeat时重复步骤(4)~(15)

3.本题调试过程碰到问题及解决办法

- (1)没有设置变量A~E存放各个等级评分个数导致无法统计每个等级的个数
解决办法:设置整型变量A,B,C,D,E存放各个等级的打分个数即
个数
- (2)在完成一次repeat循环后未输出换行符导致格式错误

解决办法:在结束完成repeat循环后输出换行符

二、同学代码结对互评

1.互评同学名称

黄光奎

2.我的代码、互评同学代码截图

- 我的代码

1232103-20171111222604278-785679785.png

- 互评同学代码

1232103-20171111222528716-2069932466.png

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

不同点:输入形式,max,min,最终成绩,成绩之和赋值形式不同。我的代码首先输入第一个成绩grade1并赋值给max,min,然后再输入其余成绩进行比较。他的代码先将max,min赋值为0然后输入全部成绩和max,min进行比较

各自优势:他的代码首先将max,min赋值为0再比较,看上去更加简洁清晰

我更喜欢他的代码风格

三、截图本周题目集的PTA最后排名。

1232103-20171111223323153-849300736.png

四、本周学习总结

1.你学会了什么?

- 我学会了嵌套循环的基本格式如while嵌套循环,for嵌套循环等

- 明白了当代码中含有多层循环时,进入循环后应按循环顺序执行并且在最后一层循环结束后才返回上一层循环

2.本周的内容,你还不会什么?

- 做PTA题目中有些代码与其他同学的相比显得有些繁琐,不够简洁,应多学习下其他同学的代码形式。

- 对于以图像形式输出的题目还不是很明白,还需要多看多学习其他同学的代码。

转载于:https://www.cnblogs.com/LHLH/p/7819907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值