@[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