ISBN 号码,标准解法
2025-12-03 13:50:37
发布于:广东
3阅读
0回复
0点赞
本题需注意的是前导零和识别码的字符形式,题解如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
int ISBN1, ISBN2, ISBN3; char x, ISBN4;
cin >> ISBN1 >> x >> ISBN2 >> x >> ISBN3 >> x >> ISBN4;
int ISBN_H = ISBN1;
int ISBN_HH = ISBN2 * 100000 + ISBN3;
for(int i = 9; i >= 2; i--){
ISBN_H += ISBN_HH % 10 * i;
ISBN_HH /= 10;
}
ISBN_H %= 11;
if(ISBN4 == 'X'){
if(ISBN_H == 10)
cout << "Right";
else
printf("%d-%03d-%05d-%d",ISBN1, ISBN2, ISBN3, ISBN_H);
}
else if(ISBN4 - 48 == ISBN_H){
cout << "Right";
}
else{
if(ISBN_H == 10)
printf("%d-%03d-%05d-X",ISBN1, ISBN2, ISBN3);
else
printf("%d-%03d-%05d-%d",ISBN1, ISBN2, ISBN3, ISBN_H);
}
return 0;
}
仅作为学习用,一旦抄袭,后果自负!!!
这里空空如也





有帮助,赞一个