现在的位置: 首页 > 综合 > 正文

poj2503

2019年08月21日 ⁄ 综合 ⁄ 共 580字 ⁄ 字号 评论关闭

这题虽然比较简单,但是还是比较经典,第一次用bsearch,没有水水的用map水过。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char line[40];
struct dict
{
	char s[12];
	char d[12];
} dt[100010];
int cmp(const void *a,const void *b)
{
	return strcmp((*(dict *)a).s,(*(dict *)b).s);
}
int bmp(const void *a,const void *b)
{
	return  strcmp((char *)a,(*(dict *)b).s);
}
int main()
{
	int cnt=0;
	int fl=0;
	while(gets(line))
	{
		if(line[0]=='\0')
		{
			fl=1;
			qsort(dt,cnt,sizeof(dict),cmp);
			continue;
		}
		if(fl==0)
		{	
			sscanf(line,"%s%s",dt[cnt].d,dt[cnt].s);
			cnt++;
		}
		else
		{
			dict *p=(dict *)bsearch(line,dt,cnt,sizeof(dict),bmp);
			if(p==NULL)
			printf("eh\n");
			else
			printf("%s\n",p->d);
		}
	}
	return 0;
}

【上篇】
【下篇】

抱歉!评论已关闭.