答案相同,为什么判错?
查看原帖
答案相同,为什么判错?
222555
Simon_Lu楼主2021/11/5 18:35
#include<bits/stdc++.h>
using namespace std;
string s;
int ISBN;//识别码
int len;
void init(int n){
    for(int i=n;i<len;i++)
        s[i]=s[i+1];
    len--;
}
int main(){
    getline(cin,s);
    len=s.size();
    string tmp=s;
    int len2=tmp.size();
    for(int i=0;i<len;i++)
        if(s[i]=='-')
            init(i);
    for(int i=0;i<len-1;i++){
        ISBN+=(s[i]-'0')*(i+1);
        ISBN%=11;
    }
    if((ISBN<=9&&int(s[len-1]-'0')==ISBN)||(ISBN==10&&s[len-1]=='X'))
        cout<<"Right";
    else{
        for(int i=0;i<len2-1;i++)
            cout<<tmp[i];
        if(ISBN==10)
            cout<<"X";
        else
            cout<<ISBN;
    }
    return 0;
}
2021/11/5 18:35
加载中...