代码
#include <iostream> #include <string.h> using namespace std; int main() { int num = -1; int w=-1; char ISBN[14]; cin>>ISBN; num = (ISBN[0]-48)*1+(ISBN[2]-48)*2+(ISBN[3]-48)*3+(ISBN[4]-48)*4+(ISBN[6]-48)*5+(ISBN[7]-48)*6+(ISBN[8]-48)*7+(ISBN[9]-48)*8+(ISBN[10]-48)*9; num = num%11; if(num==10) { if(ISBN[12]=='X') w=1; else { w=0; ISBN[12]='X'; } } else { if(num==ISBN[12]-48) w=1; else { w=0; ISBN[12] = num+48; } } if(w==1) cout<<"Right"<<endl; else cout<<ISBN<<endl; return 0; }
知识点:
1. ASCII码48是0,65是A,97是a,⚠️ASCII和数字的转换要减48