AzureMist @ 2022-05-01 20:08:14
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[13],b[13];
for(int i=0;i<=12;i++) {cin>>a[i];b[i]=a[i];b[i]-='0';}
int s;
s=b[0]*1+b[2]*2+b[3]*3+b[4]*4+b[6]*5+b[7]*6+b[8]*7+b[9]*8+b[10]*9;
if(s%11==b[12]) cout<<"Right";
else
{
for(int i=0;i<=11;i++)
cout<<a[i];
if(s%11!=10) cout<<(s%11);
else cout<<"X";
}
return 0;
}
by metaphysis @ 2022-05-02 14:14:35
@Volcano_j666
没有考虑到有些正确的号码最末一位是 X
的情形,您的代码:
if(s%11==b[12]) cout<<"Right";
无法正确判断。
by Fenestro @ 2022-05-14 19:00:59
@Volcano_j666 输入的时候也要特判X