NOIP 2008 普及组 复赛 isbn ISBN号码
1.本题考查字符串基本操作,字符转数字,数字转字符。
2.本题需注意%11,结果可能是0,1,2,3,4,5,6,7,8,9,10 10是两位数,题目太简单了,容易漏看:所得的余数即为识别码,如果余数为10,则识别码为大写字母X 。
附上AC代码,编译环境Dev-C++4.9.9.2
#include <stdio.h>
int main(){
char s[20];
int ans;
scanf("%s",s);
ans=(s[0]-'0')*1+(s[2]-'0')*2+(s[3]-'0')*3+(s[4]-'0')*4;
ans+=(s[6]-'0')*5+(s[7]-'0')*6+(s[8]-'0')*7+(s[9]-'0')*8+(s[10]-'0')*9;
ans%=11;
if(ans==10)
if(s[12]=='X')
printf("Right\n");
else{
s[12]='X';
printf("%s\n",s);
}
else if(ans==s[12]-'0')
printf("Right\n");
else{
s[12]=ans+'0';
printf("%s\n",s);
}
return 0;
}