yinhaonan666 @ 2024-07-21 14:55:44
#include<bits/stdc++.h>
using namespace std;
int main() {
string str;
int a[9],k=0,su=0,m=1,n,y;
cin>>str;
for(int i=0;i<13;i++)
{
if(str[i]!='-')
{
a[k]=str[i]-48;
k++;
}
}
for(int i=0;i<9;i++)
{
su+=a[i]*m;
m++;
}
n=su%11;
if(n==10)
{
if(a[9]=='X')
{
cout<<"Right";
}
else
{
for(int i=0;i<12;i++)
{
cout<<str[i];
}
cout<<'X';}
}
if(n!=10)
{
if(a[9]==n)
{
cout<<"Right";
}
else
{
for(int i=0;i<12;i++)
{
cout<<str[i];
}
cout<<n;}
}
}
by qyzzyqlqj @ 2024-07-24 15:47:48
把数字和加起来,不用判断直接计算新的正确字符串,再与原来对比输出
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
cin>>a;
int sum=0,index=0;
for(int i=1;i<=9;i++,index++){
if(a[index]=='-'){
index++;
}
sum+=i*(a[index]-'0');
}
string b;
b=a.substr(0,12);
if(sum%11==10)b+='X';
else b+=(char)(sum%11+'0');
if(a==b){
cout<<"Right";
return 0;
}
cout<<b;
return 0;
}
by yinhaonan666 @ 2024-07-24 17:53:56
@qyzzyqlqj ok谢谢哥关注了
by qyzzyqlqj @ 2024-07-24 18:29:11
@yinhaonan666 我还没你大,中学牲蒟蒻一枚,担不起