对于上次总结中提到的要增加打代码的时间,刚开始确实有认真完成,但坚持的天数不多,在此对自己进行检讨,给自己定个量,每天100行代码,希望到下次的学习总结时能顺利完成任务。
145分
本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。
fib函数
PrintFN函数
Q:设置太多循环,出现运行超时,断错误等问题
A:可以找出所求两者的关系来减少循环,也可以减少错误。如P87-88的程序改进,使循环的量减少。
功能:实现一步的加减乘除
1.通过产生三个个位随机数,随机产生题目,且除数不为零,判断对错后随机产生正确错误的回答。
2.输入答案时,若输入非法字符会出现提示
2.在选择的题目数做完后,会给出使用者得到的分数
3.在任何时候都可以退出
思路:
1.通过产生两个随机数,随机产生题目,且除数为零时加1,判断对错后使用随机产生正确错误回答的函数。
2.输入时,加判断非法字符,并清空缓冲区字符,加判断在任何时候都可以退出
3.对对错题目进行统计
截图函数代码
功能:实现两步的加减
1.通过产生三个随机数,及一个符号,随机产生题目,判断对错后随机产生正确错误的回答。
2.输入答案时,若输入非法字符会出现提示
2.在选择的题目数做完后,会给出使用者得到的分数
3.在任何时候都可以退出
思路:
1.通过产生四个随机数,全局变量select==2时百位随机数,select==3时千位随机数,一个当符号,判断对错后使用随机产生正确错误回答的函数。
2.输入时,加判断非法字符,并清空缓冲区字符,加判断在任何时候都可以退出
3.对对错题目进行统计
截图函数代码
功能:实现正确回答的随机输出
思路:
通过产生四个随机数,用switch语句进行判断,输出不同回答
截图函数代码
功能:实现错误回答的随机输出
思路:
通过产生四个随机数,用switch语句进行判断,输出不同回答
截图函数代码
问题1.在scanf(%d,&n)的语句内输入字母会使程序崩溃,不断地输出
解决方法:刚开始改用%c进行输入,发现只能读入一个字符,并不合适,最后学会了设置循环选择判断scanf()是否==0,若==0,fflush(stdin)清空缓冲
区里的内容,再次输入
问题2.在随机得到两位数的时候使用rand()%100会出现个位数
解决方法:先用rand()%90再加上10,就能防止个位数的产生,取三位数的时候也是如此
问题3.分母为0的问题
解决方法:判断随机数若为0,加上1可以解决;或进行循环直到不是0为止。
问题4.只会用随机数,不知道怎么出现随机符号
解决方法:先产生随机数,再用随机数代表符号,进行判断
1.从这次大作业的编写时间来看是按天来计算的。
其中如输出的内容为使整体看起来较为清晰要进行要进行一次次的调整;
要发现自己代码的bug也要一次次地运行,比如scanf(%d,&n)输入字母,刚开始百度使用的getchar(),但经过运行后发现只能吃掉一个,然后多个getchar()也不行,你就要多次输入其他键,使getchar()消耗完,最后才找到fflush(stdin)清空缓冲区这个方法
在算得分的时候因为变量是int型,整形除整形还是整形,但并没有发现,以为在循环中出现问题,经过很久的调试,才发现是int型的原因,就是个小问题都要经过长时间的修改和调试
2.这次大作业的编写过程也复习了以前学过的内容,一些小知识点,甚至被自己忽视的地方也通过这次机会得到补充
3.这次大作业自己写的代码有点长,有些代码其实一直在重复,造成代码污染,这点必须反省一下
原文:https://www.cnblogs.com/linshuxin1761/p/9948496.html