Q804401842 @ 2021-11-09 19:23:24
#include <stdio.h>
#include<math.h>
int main(){
int a[9];
char m,b[12],n;
int i,j=0,sum,t;
for(i=0;i<12;i++){
scanf("%c",&b[i]);
if(b[i]!='-'){
a[j]=b[i]-'0';
j++;
}
}
scanf("%c",&m);
for(i=0;i<9;i++){
sum=sum+a[i]*(i+1);
}
t=sum%11;
if(t==10)
n='X';
else
n=t;
m=m-'0';
if(m==n)
printf("Right");
else{
for(i=0;i<12;i++){
printf("%c",b[i]);
}
printf("%d",n);
}
return 0;
}
by French_Reformer @ 2021-11-09 19:29:23
万一m是‘X’呢
by Q804401842 @ 2021-11-10 19:48:42
@huangjianheng 谢谢,但是我把m改正后依然不对。有的时候有通过有的时候没有,每次有还不一样
by French_Reformer @ 2021-11-10 21:18:40
这个代码有些混乱,定义的n是char类型,却把整型的t赋给n,输出n时又用%d,万一n是'X'呢。建议运算时都用整型,输出再判断