为什么第二组数据AC但其他四组全部RE?

P1598 垂直柱状图

第一次碰到RE,RE一般会是什么原因?
by lingfantang @ 2019-12-09 00:45:32


似乎有些数据的末尾没有换行符
by k1saki @ 2019-12-09 09:36:03


@[lingfantang](/user/292936) 建议更改一下读入的格式
by k1saki @ 2019-12-09 09:56:21


比如用 ~~~~ while(~scanf("%c",))
by k1saki @ 2019-12-09 09:57:23


@[huxiaobang](/user/32879) 不使用换行符如何实现换行呢? ```c for (int i = 1; i <= 4; i++) for (; (ch = getchar()) != '\n'; i_c++) chs[i_c] = ch; chs[i_c] = '\0'; ``` 更改为以下代码后 ```c while (~scanf("%c", &ch)) { chs[i_c] = ch; i_c++; } chs[i_c] = '\0'; ``` 我只会在输完四行数据后在第五行CTRL+Z来结束输入。(洛谷评测Linux中会自动在第五行CRTL+D吗?)
by lingfantang @ 2019-12-09 14:15:14


@[lingfantang](/user/292936) 这样应该是可以的
by k1saki @ 2019-12-09 14:19:35


@[huxiaobang](/user/32879) 天哪,真的AC了。多谢前辈指点。 也就是说除最后一行外的数据都是以'\n'结尾而最后一行是以'\n'或EOF结尾吗?这是不是测试点的普遍情况?可是这样我在windows上还要自己产生个EOF就很烦。。
by lingfantang @ 2019-12-09 14:57:11


@[lingfantang](/user/292936) 基本上是会有换行符的
by k1saki @ 2019-12-09 15:00:25


@[huxiaobang](/user/32879) 多谢啦
by lingfantang @ 2019-12-09 15:05:07


|