一、PTA实验作业
7-4 换硬币
1. 本题PTA提交列表
2. 设计思路
- (1)定义整型变量fivenum表示5分的个数,twonum表示2分的个数,onenum表示1分的个数,total表示总数量,count表示换法个数,x表示零钱数
- (2)对count赋初值,输入零钱数额x
- (3)采用三重循环,最外层循环为fivenum,次外层循环为twonum,内层循环为onenum,条件都为大于1,且按5分、2分和1分硬币的数量依次从大到小的顺序排列,每次循环都递减1
- (4)若满足5fivenum+2twonum+1*onenum==x,则计算此时的总数量total,并使换法个数加一,按例子样式输出
-
(5)三重循环结束后,输出换法个数count
3.本题调试过程碰到问题及解决办法
- 1.
没有对count赋初值导致最后输出结果错误。 -
2.
虽然和题目的例子一样,但和题目的按5分、2分和1分硬币的数量依次从大到小的顺序排列的要求不一致。通过递减就完成了从大到小的顺序排列。7-5 梅森数
1. 本题PTA提交列表
2. 设计思路
- (1)定义整型变量n,number表示得出的数,i,j为循环次数,count
- (2)对count赋初值为0,输入n
- (3)计算number,进入内层循环,如果number能被j整除,则跳出循环。否则如果j>number/且number!=1,输出梅森数且使count加一
- (4)重复步骤3,直到i小于等于n
-
(5)如果count==0输出None
3.本题调试过程碰到问题及解决办法
第一张图是错误代码,第二张图是错误地方,第三张图是正确代码,不同之处在于第一张图的count在能整除后面,最后判断条件是count==n;第三张图的count在不能整除后面,判断条件是count==07-7 歌唱比赛评分系统
1. 本题PTA提交列表
2. 设计思路
- (1)定义整型变量repeat做运算,n为评委人数,sum为累加成绩,max为最大值,min为最小值,定义浮点型变量score
- (2)输入repeat次运算
- (3)输入评委人数,并使sum为0,min为100,max为0
- (4)输入成绩,使sum累加成绩,如果grade大于max,使max为grade;如果grade小于min,使min为grade
- (5)计算score=1.0*(sum-max-min)/(n-2)
-
(6)按样式输出
3.本题调试过程碰到问题及解决办法
没有把题目读清楚,题目要求是“输入一个正整数repeat (0<repeat<10),做repeat次下列运算:”所以评委人数n也是不确定数,所以把scanf("%d",&n);放在循环外边就导致出错。二、同学代码结对互评
1.互评同学名称
-
黄光奎
2.我的代码、互评同学代码截图
- 我的代码
-
同学的代码
3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。
- 他的count++位于是素数条件的之外,而我的位于条件之内,其次他最后的判断条件是count==n-1,我的是count==0。
他的i从2开始,导致最后的判断条件是count==n-1,因为count初始值为0,当输出n为1时,不进入循环,直接输出None -
我的代码套路很一般,而黄同学的思路很新颖独特。希望以后自己的代码可以更加简洁明了。
三、截图本周题目集的PTA最后排名
四、本周学习总结
1.你学会了什么?
- 1.学习到函数是C语言的基本组成单元,对于C语言来说非常重要。
- 2.学习了函数的三部曲,函数的定义,函数的调用,函数的声明。
- 3.学会了形参和主参之间的关系,即参数传递
- 4.学会了不返回结果的函数void()
-
5.局部变量和全局变量的使用和优缺点以及作用范围
2.本周的内容,你还不会什么?
- 1.对于使用函数还不熟练,不能很好的使用函数解决问题
- 2.变量生存周期和静态局部变量的定义还理解的不够透彻
3.对于PTA的嵌套循环题目比如菱形,就没有思路,不知道字符型数据+1也可以。