一、PTA实验作业
题目1:换硬币
1. 本题PTA提交列表
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提交列表
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提交列表
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循环后输出换行符