这几星期学了函数题目变难,尤其是大作业花了我很多时间。总结起来自己开始学会运用函数了,但是书看的比较少,很多概念不是很清晰。
这几星期生病了,身体活力下降,加上电脑烧坏了,学习时间和学习强度都不如以前。希望老师能够少布置一点作业,让我们有更多休息和自学的时间,时间分配方面我一直分配不过来。
不过说实在的,这周函数的pta作业比上周循环结构的作业简单。大作业做得有点幸苦。
输出两个数的最大公因数。
声明函数gcd
Begin
repeat
if x==y 则return x
end if
if x>y 则
change:=x
x:=y
y:=change
end if
r:=x-y
if r>y 则 x:=r
else if r<y则
x=y
y=r
else if r<y则
x=y
y=r
else if r==y则
return r
end if
end if
end if
end if
if x==y return x
until 1
End
Q1:运行超时陷入死循环
A1:考虑不充分,没有一步一步推敲导致结果出错,最后考虑到特殊情况,修改代码。
Q2:面对x大y小的情况时答案错误。
A2:没有想清楚x,y,r的转换关系,导致结果出错,经过调整,得出正确答案
用于输出菜单
用于给用户出题,用于计算第一位数的一步加减乘除,同时除法的结果保留两位小数。
用于给用户出题,计算两位数的二步加减运算。
用于给用户出题计算三位数的二步加减运算。
用于在用户做对题目时输出肯定的话语,在用户做错题目时输出鼓励的话语。
用于鉴定用户成绩等级
对数据的合法性进行判断,保证数据是合法的。
1测试一
2.测试二
Q1:输入非法数据时进入死循环。
A1:scanf()后面加一个getchar()吸收系统储存的数据,同时加入循环语句,直到数据输入正确才退出。
Q2:页面不够优美。
A2::加了一些输出用于美化菜单。
Q3:没有清屏。
A3:用了强大的百度解决了问题。
Q4:rand()函数输出的不是真正的随机数。
A4:参照以前做过的习题,用 srand(time(0))函数解决问题。
1.这次作业是在匆忙之间完成,而且我的电脑烧坏了,只能在图书馆做作业。
2.我的代码过冗余,多很好的算法一开始没有想到,参照别人的代码后才知道自己的不足。
3.我的身体状态差,这次作业本该做的更好的。
4.作业改了很多次,总结起来还是觉得自己功底不够,要多学习。
5.我在这次作业中学到了很多课堂上没有教的知识。
原文:https://www.cnblogs.com/1112wlt/p/9939729.html