C语言 求助!!
查看原帖
C语言 求助!!
1240781
ylanyunki楼主2024/1/17 14:33

第二个测试点的数据为0-670-82162-X,在自己的编译器上试过,输出应该是对的,但是不知道为什么一直不能通过。中间注释掉的时之前用来调试的代码。

#include<stdio.h>
int main(){
char a[14]={0},b[11]={0};
int i,n=0,sum=0;
scanf("%s",&a);
//printf("a=%s\n",a);
for (i=0;i<14;i++){
    if (a[i]=='-')
        continue;
    else {
        b[n]=a[i];
        n++;
    }
}
//printf("b=%s\n",b);
for (i=0;i<9;i++){
    sum+=(b[i]-'0')*(i+1);
}
//printf("b[9]=%c,sum=%d,sum%11=%d\n",b[9],sum,sum%11);
if (b[9]=='X'){
    //printf("1\n");
    if (sum%11==10)
        printf("Right");
    else{
        a[12]=sum%11+'0';
        printf("%s",a);
    }
}
else{
    if ((b[9]-'0')==sum%11)
        printf("Right");
    else{
        if (sum%11==10)
            a[12]='X';
        a[12]=sum%11+'0';
        printf("%s",a);
    }
}
return 0;
}
2024/1/17 14:33
加载中...