题目简单,用string类就可以搞定
代码如下:
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
cin>>s;
int sum = 0,j = 1;
for(int i = 0; i < s.size() - 1; i++){
if(s[i] != '-'){
sum += (s[i] - '0')*j++;
}
}
int tmp = sum % 11;
if(tmp == 10){
if(s[s.size()-1] == 'X'){
cout<<"Right"<<endl;
}
else{
s[s.size()-1] = 'X';
cout<<s<<endl;
}
}
else if(tmp != 10){
if(s[s.size()-1] == tmp + '0'){
cout<<"Right"<<endl;
}
else{
s[s.size()-1] = tmp + '0';
cout<<s<<endl;
}
}
}
本文介绍了一个简单的C++程序,用于校验输入的ISBN号码是否正确。通过计算ISBN号码的前9位数字,根据特定的算法得出校验码,并与ISBN号码的最后一位进行对比,判断ISBN号码的有效性。
2149

被折叠的 条评论
为什么被折叠?



