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

📄 pku1035.cpp

📁 这是ACM 方面的资料 是PKU的 北京大学的出来的
💻 CPP
字号:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char dic[10001][16],word[16];
int no[10001]; 

int test(char s[],char w[])
{
	int lens,lenw,p,i;
	lens=strlen(s);
	lenw=strlen(w);	
	
	if(lens==lenw) 
	{
		p=0;
		for(i=0;i<lens;++i)
		{
			if(s[i]!=w[i])
			{
				if(p) return 0;
				p=1;
			}
		}
		return 1;
	}
	
	if(lens+1==lenw)
	{
		i=0;
		while((i<lens)&&(s[i]==w[i])) ++i;
		for(++i;i<lenw;++i)
		{
			if(s[i-1]!=w[i]) return 0;
		}
		return 1;
	}
	
	if(lens==lenw+1) 
	{
		i=0;
		while((i<lenw) && (s[i]==w[i])) ++i;
		for(++i;i<lens;++i)
		{
			if(s[i]!=w[i-1]) return 0;
		}
		return 1;
	}
	return 0;
}

int main()
{
	int n=0,i;
	char temp[20];
	
	while(scanf("%s",temp)!=-1)
	{
		if(strcmp(temp,"#")==0) break;
		else
		{
			strcpy(dic[n],temp);
			n++;	
		}	
	}
	
	while(scanf("%s",word)!=-1&&strcmp(word,"#")!=0)
	{		
		for (i=0;i<n;++i)
		{
			if (!strcmp(dic[i],word)) break;
		}
		if (i<n) 
		{
			printf("%s is correct\n",word);
			continue;
		}
		printf("%s:",word);
		for (i=0;i<n;++i)
		{ 
			if (test(dic[i],word)) printf(" %s",dic[i]);
		}
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

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