P1055 50 c++ 求助

P1055 [NOIP2008 普及组] ISBN 号码

Mark_666 @ 2023-02-28 20:00:12

#include <bits/stdc++.h>
using namespace std; 
int main()
{  
    string s;
    cin>>s;
    int ans=1;
    int sum=0;
    for(int i=0;i<11;i++)
    {
        if(s[i]!='-')
        {
            sum+=ans*(s[i]-'0');
            ans++;
        }
    }
    if(sum%11==s[12]-'0')
        cout<<"Right";
    else
    {
        for(int i=0;i<12;i++)
        {
            cout<<s[i];
        }
        cout<<sum%11;
    }
    return 0; 
}

by __polaris___ @ 2023-02-28 20:16:42

需要特判当sum除以11的余数为10时,输出X;以及当读入为X时,需要将s[12]转化成10,而不是减去‘0’


|