anthonyzhai @ 2024-06-02 22:59:34
while(true){
c = getchar();
if(c=='E')
break;
if(c=='\n')
continue;
scores[n] = c;
n++;
}
后面的判断过程代码不变,前面将n行字符串整理成1行的代码哪里有问题,为什么就是不对。
将接受输入的方式改为以下方式就可以了!
while(true){
cin>>scores[n];
if(scores[n]=='E')
break;
n++;
}
by xiyihan @ 2024-06-02 23:24:55
可能是因为linux环境下换行符是\r\n
?
by FFTotoro @ 2024-06-03 08:23:28
@xiyihan windows 下才是 \r\n
。能不能搞清楚了再说。
这题数据可能是在 windows 下造的。所以这是正常现象。
by xiyihan @ 2024-06-03 08:40:50
@FFTotoro 抱歉,当时确实没搞清楚不同平台换行符的区别...不过这里的问题应该没错
by anthonyzhai @ 2024-06-03 09:37:37
@FFTotoro 可以了,谢谢!
加了个 || c=='\r'