zxhiding @ 2022-10-11 13:16:51
#include<stdio.h>
int main(){
int a, b, c, d, e, f, g, h, i, j;
scanf("%d-%d%d%d-%d%d%d%d%d-%d", &a, &b, &c, &d, &e, &f, &g, &h, &i, &j);
int k = (a * 1 + b * 2 + c * 3 + d * 4 + e * 5 + f * 6 + g * 7 * h * 8 + i * 9)%11;
if (k == j) {
printf("Right");
}
if(k==10) {
printf("X");
}if (k != 10 && k != j) {
printf("%d", k);
}
return 0;
}
by w9095 @ 2022-10-11 13:25:29
最好用字符串存原始数据
by w9095 @ 2022-10-11 13:25:49
@zxhiding
by zxhiding @ 2022-10-11 14:37:12
@w9095 但是我输入的都是数字,为什么不能这样写
by w9095 @ 2022-10-11 16:00:19
@zxhiding 有一组数据输入是结尾为X
by 8672438ff @ 2022-10-12 22:51:56
@w9095 那个改了也还是报错 为什么啊
by UTAsriel @ 2022-10-17 16:48:30
第一个if语句结束之后加上else,否则不管是对是错,它都会再输出一个ISBN码。
by UTAsriel @ 2022-10-17 16:49:54
而且它不是要求你输出正确ISBN码的末位,而是整个ISBN码。
by UTAsriel @ 2022-10-17 16:52:51
报错的话,你的第一和第三个if语句好像用的是全角(中文)括号。
by UTAsriel @ 2022-10-17 16:54:00
如果你是加了空格,那么忽略请我的第三句话。