数字是数字,字符是字符。数字1不等于字符1。
数字1就是我们常说的1,他转换为字符1的方法是加上48或者+‘0’;
字符1某种意义上不是1,它对应的是ASCII码中的49,所以字符1转换为数字计算时需要减去48或者-‘0’。(ASCII码中48对应的是0)
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s[777],c;
cin>>s;
int he,k;
he=0;k=0;
for(int i=0;i<11;i++)
{
if(s[i]!='-')
{
k++;
he+=k*(s[i]-48);
}
}
he%=11;
if(he==10) c='X';
else c=he+48;
if(s[12]==c) cout<<"Right"<<endl;
else {
s[12]=c;
cout<<s;
}return 0;
}