题目
做题过程
这道题很简单,按照题意来就行。有几个注意点:
1、数字字符与数值的转化
2、char只占一个字节,取值范围为 -128 ~ +127,表示数值用int
3、数值和字符分别用不同的变量存储,以防混乱
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
char ISBN[14];//从0开始
int span = '0' - 0;
scanf("%s",ISBN);
//ISBN[13] = 0;
int c = 0, n = 1;
char ch;
for(int i = 0; i < 12; i++)
if(ISBN[i] != '-')
c += (n++) * (ISBN[i] - span);
c %= 11;
if(c == 10)
ch = 'X';
else
ch = c + span;
if(ISBN[12] == ch)
printf("Right");
else{
ISBN[12] = ch;
printf("%s",ISBN);
}
return 0;
}