题目链接
思路:
注意;识别码为10时,特殊判断。
1.找到符合题目要求的数字,对它们进行处理。(放在数组中,包括 - )
2.计算出它的识别码。
a.如何将字符串变为普通数字。
在网上看到强制转换会出错(我也不知道)。
通过不断看题解 探索,知道了。
+‘0’,-‘0’。即可实现。利用的是ASCII码的特点。
3.对比识别码,符合就输出Right
不符合就替换,输出正解。
#include<iostream>
using namespace std;
char a[14];
int main()
{
int ans=0;
char c;
cin>>a;
for(int i=0,j=1;i<12;i++)
if(a[i]!='-')
{
ans=ans+j*(a[i]-'0');//(a[i]-'0')此时会变成普通数字。
j++;
}
if(ans%11==10) c='X';
else c=ans%11+'0';
if(c==a[12]) cout<<"Right";
else {
a[12]=c;
cout<<a;
}
return 0;
}
如有错误,请告诉我。
我一定会改。