⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2426916_ac_109ms_372k.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
#include <stdio.h>
#include <string.h>
char dic[10001][30];
int len[10001];

int check2(char a[],char b[])
{
	int i, j;

	for(i = 0; b[i]!='\0'; i++)
	{
		if(a[i]==b[i])
			continue;
		else
			if(strcmp(&a[i+1],&b[i+1])==0)
				return 1;
			else
			{
				for(j = i+1; b[j]!='\0'; j++)
					if(a[j]==b[j])
						continue;
					else
					{
						if(a[i]==b[j]&&a[j]==b[i])
							return strcmp(&a[j+1],&b[j+1])==0;
						else
							return 0;
					}
			}
	}
	return 1;
}

int check1(char a[],char b[])
{
	int i;
	
	for(i = 0; a[i]!='\0'; i++)
		if(a[i]==b[i])
			continue;
		else
			return strcmp(&a[i],&b[i+1])==0;
	return 1;
}

int main()
{
	char tmp[30], output[30];
	int n, j, q, i, l, mark;

	scanf("%d",&n);
	for(i = 0; i < n; i++)
	{
		scanf("%s",dic[i]);
		len[i] = strlen(dic[i]);
	}
	scanf("%d",&q);
	for(j = 0; j < q; j++)
	{
		mark = 0;
		scanf("%s",tmp);
		printf("%s",tmp);
		l = strlen(tmp);
		for(i = 0; i < n; i++)
		{
			if(len[i]==l)
			{
				if(strcmp(dic[i],tmp)==0)
				{
					printf(" is correct\n");
					goto con;
				}
			}
			if(mark)
				continue;
			if(len[i]==l&&check2(dic[i],tmp))
			{
					mark = 1;
					strcpy(output,dic[i]);
			}
			if(len[i]==l-1&&check1(dic[i],tmp))
			{
				mark = 1;
				strcpy(output,dic[i]);
			}
			if(len[i]==l+1&&check1(tmp,dic[i]))
			{
				mark = 1;
				strcpy(output,dic[i]);
			}
		}
		if(mark)
			printf(" is a misspelling of %s\n",output);
		else
			printf(" is unknown\n");
con:
		;
	}
	return 1;
}

⌨️ 快捷键说明

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