本来想先弄个简单题练练手的,结果卡了我一个半小时,我去,看来长时间不碰的确是很不好。
正解和题目见:http://www.cnblogs.com/cpoint/archive/2011/04/25/2026613.html
1.初始版本
#include <stdio.h> int main() { int n,i=-1,a[200]; scanf("%d",&n); while(i<n-1) scanf("%*6d%d",a+(++i)); i=-1; while(i<n-1) printf("6%d\n",*(a+(++i))); return 0; }WA了,我以为是输出格式的问题,结果改了一下
2. while(i<n-2) printf("6%d\n",*(a+(++i))); printf("6%d",*(a+(++i)));
3.结果还是WA,我百思不得其解,最终在讨论版看到了原因
整数开头的0没有被读入,于是改成了字符串,结果PE了,然后把前面改的再改回来,原来HDOJ输出格式要求的很正常是我不正常= =,AC
4.顺便分析一下那个正解,他好就好在getchar读入了\n的用法,这个用法我记得不是很清楚
小结:
1.注意整数开头的0在作为整形输入时会自动省略
2.getchar()可以读入\n