(一)编译函数的一些错误
1. 定义数组如果用到n之类的一定是在先将n输入后顺序不能错不然会出现运行超时与其他各种错误也许不会报错;
2.在敲代码最后多出一个换行(大多时候并没有影响)但要去掉的话可以用getchar吃掉(实践次数过少可信度极小)或将printf(”\n“)分离出来再进行循环判断往往可以成立;
3.函数中输出值一般只有最后的一个return(排除使用指针直接对地址中数值进行修改的情况)如果用void的话只有函数中中间步骤可以成立(自己看的内容:要加大对指针的练习现在还是生疏);
4.在强制转换形式时如果在转换形式后先行有了运算结果会导致转换到错误数值如double a=(double)((1+2)/2);这种就会发生错误数值;
(二)编译函数要增加的思想
1.关于有明显递归方向的题一定要走递归但如果看不出来的且敲得代码发现及其麻烦的可以进行尝试一下递归的思路如兔子繁殖问题(problem21)就是斐波那契数列;
2.在判断条件是尽可能精简能少用if别多用如果太多的话就不好进行调试判断发现哪里出错同时在一些特例情况下经常会因为太多判断发生奇怪的错误如(problem28);
3.输出结果不一定要最后一起输出也可以在循环中一次次输出也许有反过来的情况一般会有一种使代码变得简洁方便差错也方便进行调试(problem28);
4.如果实在无法避免进行循环判断超多次嵌套就先放慢速度可以尝试在纸上写出一段伪代码然后照着敲但是在判断与循环条件是一定注意+1或-1还是单纯的所输入数值也许在这里会使最后的一项数值发生问题进入乱码(problem 18);
5.如果字符与数字交错输入的话可以考虑两个scanf排列进行输入不过最好第二个开始在循环中进行否则在某些特例的错误情况下会出现错误(problem28);
6.循环中不能进入套路如一直使用i++;如有的时候可以进行一次i--来减少许多步没必要的操作如用这一项替代下一项用++的话就无法得到所需答案但用--就可以成立(注意用--的时候--的配套措施如i应从<判断条件改变到>);
(三)c语言学习:目前进程到指针;
problem32;
(四)下周目标:字符串相关内容
周报完;