wuyuchen5001143 @ 2023-01-05 19:50:22
80pts,第四个和第8个点错,我就下载了数据:
输入:6-670-82162-X
输出:Right
我放到计算机上运行,输出正确,为Right
但是,洛谷上提交,就提示读到的第一个是错了,正确是R,我的是6,就是告诉我,我输出的是:如果错误,则输出你认为是正确的 ISBN 号码 的情况......我换了好几种语言版本都还是错的,我的本地C++是-std=c++11,我用C++11、C++14、以及文件提交等方法,结果都一样......到底为什么???
以下是我的代码:
#include <iostream>
using namespace std;
int main()
{
string s;
getline(cin,s);
int t=1,x=0;
for(int i=0;i<s.size()-2;i++) if(s[i]!='-')
{
x+=(s[i]-'0')*t;
t++;
}
if(x%11==s[s.size()-1]-'0'||(x%11==10&&s[s.size()-1]=='X')) printf("Right\n");
else
{
for(int i=0;i<s.size()-1;i++) printf("%c",s[i]);
if(x%11!=10) printf("%d\n",x%11);
else printf("X\n");
}
return 0;
}
求助!!!
by Eznibuil @ 2023-01-05 19:56:16
@wuyuchen5001143 用你谷 IDE 测了一下,你忘了去掉末尾换行
by Texas_the_Omertosa @ 2023-01-05 19:56:32
@wuyuchen5001143 我用亲身经历告诉你:
别用 getline
!
别用 getline
!
别用 getline
!
改成 cin
大概就行了
by chen_zhe @ 2023-01-05 19:56:46
@wuyuchen5001143 查了一下,数据末尾多了空格造成了问题。现在应该可以了。
by Eznibuil @ 2023-01-05 19:57:03
@olkieler 因为 getline 读入换行符/fad
by tbdsh @ 2023-01-05 19:57:15
cz楼下
by Texas_the_Omertosa @ 2023-01-05 19:58:05
@liubinze 如来原此
by Etic_HAO @ 2023-01-05 20:08:47
cz楼下的楼下的楼下的楼下
by wuyuchen5001143 @ 2023-01-05 20:40:26
@liubinze 不是说洛谷会忽略末尾换行码
by wuyuchen5001143 @ 2023-01-05 20:45:08
@chen_zhe 所以是数据末尾多了空格,现在提交这份代码,会AC吗??
by wuyuchen5001143 @ 2023-01-05 20:47:14
@chen_zhe 哦,就是说是数据问题是吗,现在直接提交就行是吧?