#include<stdio.h>
int main()
{
char s[14]={},p;
int num[10]={},i=0,j=0,sum=0,mod=0;
gets(s);
for(i=0;i<12;i++){
if(s[i]>='0'&&s[i]<='9'){
num[j]=(int)(s[i]-'0');
sum+=num[j]*(j+1);
j++;
}
}
mod=sum%11;
if(mod==10){
p='X';
}
if(s[12]=='X'){
num[9]=10;
}
else{
num[9]=(int)(s[12]-'0');
}
if(mod==num[9]){
printf("Right");
}
else{
if(mod==10){
s[12]='X';
}
else{
s[12]=mod+'0';
}
printf("%s",s);
}
}
以上代码检测时显示全对通过
但是后来我发现我没有用到字符p,将char p,以及后面的if(mod==10){
p='X';
}
全部删除,我觉得对代码的运行没有任何影响,但是这样检测时第八个没有通过,显示WA
。请问为什么啊。