2112547_ac_0ms_12k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 40 行

C
40
字号
# include <stdio.h>
# include <string.h>

int check(char str[])
{
	int i, D, l, tmp;
	int mark[800];

	l = strlen(str);
	for(D = 0; D <l - 1; D++)
	{
		memset(mark,0,sizeof(mark));
		for(i = 0; i < l-D-1; i++)
		{
			tmp = (str[i]-'A')*26+str[i+D+1]-'A';
			if(mark[tmp]==0)
				mark[tmp] = 1;
			else
				return 0;
		}
	}
	return 1;
}

void input()
{
	char str[80];

	while(scanf("%s",str)==1&&str[0]!='*')
		if(check(str))
			printf("%s is surprising.\n",str);
		else
			printf("%s is NOT surprising.\n",str);
}

int main()
{
	input();
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?