## AC Code:
```cpp
#include<cstdio>
using namespace std;
char a,b,c,d,e,f,g,h,i,j; int s;
int main(){
scanf("%c-%c%c%c-%c%c%c%c%c-%c",&a,&b,&c,&d,&e,&f,&g,&h,&i,&j);
s=(a-'0')*1+(b-'0')*2+(c-'0')*3+(d-'0')*4+(e-'0')*5+(f-'0')*6+(g-'0')*7+(h-'0')*8+(i-'0')*9;
s%=11;
if((s==10&&j=='X')||s==j-'0') printf("Right");
else
printf("%c-%c%c%c-%c%c%c%c%c-%c",a,b,c,d,e,f,g,h,i,s==10?'X':s+'0');
return 0;
}
```
~~若要感谢关注足矣......~~
by xibaby @ 2023-11-25 23:58:11
第一个样例就没过,0-670-82162-4
```c
if(num==c&&a[12]>=0&&a[12]<=9||num==10&&a[12]=='X')
```
这个if判断前半句num==c就够了,后面&&a[12]>=0&&a[12]<=9没必要,因为a[]数组是字符,肯定和数字相等
by Azzero @ 2023-12-01 11:12:43
@[Azzero](/user/1208760) 字符和数字肯定不相等。题目说了测试数据一定是ISBN编码格式,最后一位肯定是数字或者说X
by Azzero @ 2023-12-01 11:14:39