这道题读入数据的末尾并不全是EOF,即-1…… 有些可能是“归位”(ASCII:13)和“回车”(ASCII:10)……
第一组测试数据的ASCII码如图:
【用vscode的同学注意下:如果用vscode下载数据debug看的最后的ASCII只有10没有13,实际上是会先有13再有10……
所以判断时应该是:
while ((tmp = getchar()) != -1 && tmp != 13 && tmp != 10)
强烈建议改正下数据x……