很奇妙的题目,输出"Right"时后面加个换行符就从30变100,想知道为什么
查看原帖
很奇妙的题目,输出"Right"时后面加个换行符就从30变100,想知道为什么
113898
Secretus_BE楼主2024/12/3 20:50
//这个代码30分
#include<stdio.h>

int main(void)
{
	char s[13];
	int sum=0,cmp,j=1;

	scanf("%s",s);
	if(s[12]=='X') cmp=10;
	else cmp=s[12]-'0';
	for(int i=0;i<=11;i++)
	{
		if(s[i]=='-') continue;
		sum+=(s[i]-'0')*j;
		j++;
	}
	if(sum%11==cmp) printf("Right");
	else {
		if(sum%11==10)
			s[12]='X';
		else s[12]=sum%11+'0';
		printf("%s",s);
	}
	
	return 0;
}

//这个代码100分
#include<stdio.h>

int main(void)
{
	char s[13];
	int sum=0,cmp,j=1;

	scanf("%s",s);
	if(s[12]=='X') cmp=10;
	else cmp=s[12]-'0';
	for(int i=0;i<=11;i++)
	{
		if(s[i]=='-') continue;
		sum+=(s[i]-'0')*j;
		j++;
	}
	if(sum%11==cmp) printf("Right\n");
	else {
		if(sum%11==10)
			s[12]='X';
		else s[12]=sum%11+'0';
		printf("%s",s);
	}
	
	return 0;
}
2024/12/3 20:50
加载中...