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 wuyuchen5001143 @ 2023-01-05 20:47:53
@chen_zhe 哦,AC了,谢谢
by wuyuchen5001143 @ 2023-01-05 21:31:09
@olkieler ......看了你在下一条帖子发的13号写25号过,我才知道你为什么说用亲身经历告诉我不要用getline()了......