C语言:求教一个邪门的问题
查看原帖
C语言:求教一个邪门的问题
305409
Ange楼主2020/7/15 23:09
#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 。请问为什么啊。

2020/7/15 23:09
加载中...