#include <bits/stdc++.h>
using namespace std;
int main(){
char a[14],b[12]={'0','1','2','3','4','5','6','7','8','9','X'};
int s3=0,s4=1;
for(int i=0;i<13;i++){
cin>>a[i];
}
for(int i=0;i<12;i++){
if(a[i]=='-') continue;
s3+=(a[i]-48)*s4;
s4++;
}
if(s3%11==a[12]-48) cout<<"Right";
else {
a[12]=b[s3%11];
for(int i=0;i<13;i++){
cout<<a[i];
}
}
return 0;
}
上面的代码80分,我发现是第17行有问题,
改成
if(b[s3%11]==a[12]) cout<<"Right";
就没问题了,但如果写对比ASCII
if(s3%11==a[12]-48) cout<<"Right";
就WA #4 #7两个点
为啥啊