洛谷1055

#include #include using namespace std ; int main() { char s[ 20 ]; int i,ans= 0 ,sum= 0 ; cin >>s; //输入isbn号码 for (i= 0 ;i<= 11 ;i++) { if (s[i]>= 48 && s[i]<= 57 ) { sum++; ans+=sum*(s[i] -48 ); //累乘计算mod前的值 } else continue ; } ans%= 11 ; //mod11得到isbn的识别码 ans+= 48 ; //转换为ASCII码 if (ans== 58 ) ans= 'X' ; //处理“X” if (ans==s[ 12 ]) cout << "Right" << endl ; //判断是否正确 else { s[ 12 ]=ans; //将正确的值赋给最后一位 for (i= 0 ;i<= 12 ;i++) cout < //输出正确的值 } return 0 ;}

你可能感兴趣的:(答案(洛谷))