114homo @ 2024-10-25 20:23:47
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
int b=1,s1=0,q1=0;
cin>>a;
for(int i=0;i<=11;i++){
if(a[i]!='-'){
s1=s1+(a[i]-'0')*b;
b++;
}
}
q1=s1%11;
if(q1==a[12]-'0')
cout<<"RIGHT";
else if(q1==10&&a[b-1]=='X')
cout<<"RIGHT";
else{
for(int i=0;i<a.size()-1;i++){
cout<<a[i];
}
cout<<q1;
}
return 0;
}
by DYF2765491381672943 @ 2024-10-25 20:37:34
几个问题
1."Right"误写为"RIGHT"
2.17行的a[b-1]应该为a[12]
3.输出q1时应当特判q1等于10的情况
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
int b=1,s1=0,q1=0;
cin>>a;
for(int i=0;i<=11;i++){
if(a[i]!='-'){
s1=s1+(a[i]-'0')*b;
b++;
}
}
q1=s1%11;
if(q1==a[12]-'0')
cout<<"Right";
else if(q1==10&&a[12]=='X')
cout<<"Right";
else{
for(int i=0;i<a.size()-1;i++){
cout<<a[i];
}
if(q1!=10)cout<<q1;
else cout<<"X";
}
return 0;
}
求个关注,谢谢
by 114homo @ 2024-10-25 21:03:29
@DYF2765491381672943 谢谢,已关orz