思路
1.以string数组输入进来,遍历10项,定义sum,num,sum用来计算第13位的值,num累加
2.判断第13位是否正确,一共有两种情况:
1.sum%11==第12位的值
2.sum%11==10&&第13位==‘X’
如果正确输出“Right”
3.输出错误的:
1.如果sum%11==10,输出 数组+X
2.否则输出 数组+sum%11
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a;
cin>>a;
int num=0,sum=0;
for(int i=0;i<=10;i++)
{
if(a[i]>=48&&a[i]<=57)
sum=sum+(a[i]-48)*++num;
}//计算第12位的值
if(sum%11==a[12]-48||(sum%11==10&&a[12]=='X'))
cout<<"Right";//判断对不对
else
{
for(int i=0;i<=11;i++)
cout<<a[i];//输出
if(sum%11==10)
cout<<"X";
else
cout<<sum%11;
}
return 0;
}