求助50分样例是对的

P1055 [NOIP2008 普及组] ISBN 号码

@[abundan](/user/1125841) 已经改好了,求关注 没有考虑到 $\texttt{X}$ 的情况,如果最后算出来是 $10$,则 $s_{12}$ 需要赋值为 $\texttt{X}$;在判断输出 $\texttt{Right}$ 时,需要判断最后一位是 $\texttt{X}$ 的情况。 ```cpp #include <bits/stdc++.h> using namespace std; int main() { int n=13,sum=0,k=1,m; string s; getline(cin,s); for(int i=0;i<n-1;i++){ if(s[i]!='-'){ sum+=(s[i]-'0')*k; k++; } } cerr << sum; m=sum%11; if(m==(s[12]-'0') || m == 10 && s[12] == 'X')printf("Right"); else{ s[12]=m+'0'; if (m == 10) s[12] = 'X'; cout<<s; } return 0; } ```
by Weekoder @ 2024-01-24 14:38:21


那个 `cerr << sum` 你可以不用管
by Weekoder @ 2024-01-24 14:39:30


@[Weekoder](/user/800884) 谢谢已关
by abundan @ 2024-01-24 14:52:24


|