小白求助
查看原帖
小白求助
1129634
iven_cheng楼主2023/10/12 22:38
#include <cstdio>
#include <ctype.h>
int main() {

char str[50];
int num[11], i, j=0,sum=0,mmod= 0;
scanf("%s",str);

for (i = 0; str[i] != '\0'; i++) 
{
	if (isdigit(str[i]))
	{
	num[j++] = str[i]-'0';
	}

}
//printf("%d\n",j);
if(j!=10)
{

num[j]=10;

}
int k=1;



for(i=0;i<j;i++)
{
	
	sum+=num[i]*k;
	k++;

}

mmod=sum%11;
char mmmod='X';
//printf("%d\n",num[j-1]);
//printf("%d\n",mmod);
if(mmod!=10)
{
	if(mmod==num[j])
	printf("Right");
	else
	{
	printf("%d-%d%d%d-%d%d%d%d%d-%d",num[0],num[1],num[2],num[3],num[4] ,num[5] ,num[6] ,num[7] ,num[8],mmod);
 	}
 
}else
	printf("%d-%d%d%d-%d%d%d%d%d-%c",num[0],num[1],num[2],num[3],num[4] ,num[5] ,num[6] ,num[7] ,num[8],mmmod);
return 0;
 }

到底哪里不对啊,我做的三个例子都是对的求求大神不吝赐教,再次感激大伙

in out

附用例
0-670-82162-X 0-670-82162-4
0-670-82162-4 Right
0-670-82162-0 0-670-82162-4
2023/10/12 22:38
加载中...