Uva刷题有感

虽然今儿天亮了就要去缓考毛概和英语,但是从昨晚上开始就在刷Uva但是一直没过,我就一直要等到过了再复习。前些天也是,这一个星期只刷了6道题,发现自己存在着很多的问题,大体总结如下:

  • 对c的输入输出不熟悉(但现在经过6个题后已经熟练使用gets,sscanf,sprintf,printf)
  • 不会使用样例输入和输出,并对比输入输出(现在已经熟练使用流的重定向功能和diff来对比文件)
  • 部分题意理解不明,死做硬做浪费时间(遇到此类情况应查看题解)
  • 正确的输出文件并非保证最后全无空行,大部分时候有一行空行才是正确答案,不要纠结于此
  • 根据输入数据量大小动态分配内存并非最佳的解决方案,根据输入输出范围提前分配好足够的空间往往是最方便解决方案
  • 针对C语言在线调试相对不便的问题,应在写代码时,在关键部位输出调试信息,并方便关闭(现在学会了使用不定个数的参数个数,构建一个与printf功能相同的dbg函数来输出调试信息)
  • 应注意输入值的范围,比如输入的区间边界值是否一定是前小后大,比如计算出的值是否需要根据允许的范围取余修正,特殊情况输入会不会造成程序死循环等。
  • 应注意在使用前一定要初始化变量,以及访问和读入变量的顺序问题,避免顺序错误导致的数据异常

先写到这里吧。。。该去复习一下毛概了。。。

缓考完后,我一定要好好刷题,提高效率!