直接上代码吧...不知道花了好久添的注释会不会变成奇怪的东西
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[13]={0},b[13]={0};//数组a用来计算,b作为备份
for(int i=0;i<13;i++)
{
cin>>a[i];b[i]=a[i];
}//输入数组a,数组b=数组a
for(int i=0;i<13;i++)
{
if(a[i]=='-')
{
a[i]=0;
}
}//如果是-就不计算
int final=0;//最终结果
for(int i=0;i<1;i++)
{
a[i]=a[i]*i;final=final+a[i];
}
for(int i=2;i<5;i++)
{
a[i]=a[i]*i;final=final+a[i];
}
for(int i=6;i<10;i++)
{
a[i]=a[i]*i;final=final+a[i];
}
//计算最终结果,跳过-
final=final%11;
if(a[13]==final)
{
cout<<"Right";
}//如果结果和最后一个数字一样就正确
else
{
for(int i=0;i<12;i++) cout<<(int)b[i];
cout<<(int)final;
}//如果不一样,就先输出备份b的前12项,最后一项输出正确答案
return 0;
}