注册 登录
编程论坛 C++教室

一道面试遇到的题目

forever759 发布于 2007-03-26 20:41, 769 次点击
题目:编个字典函数
要求:1.一个字典集合:[aaa,cbgs,gag]
2.当输入一个字符aaa 输出 "find aaa";
3当输入一个字符nnnn输出"not find".
4.当输入"cgs" 会输出:"是不是要查找"cbgs""
7 回复
#2
yushui2007-03-27 13:39
指针数组*A[] 用这个就可以
#3
bill88882007-03-28 01:08
我简单编了一下,不知道像这种可以不了,大家指点一下:
#include<iostream>
#include<string.h>
#include<conio.h>
#include<algorithm>
using namespace std;
const int num=3;
const int len=10;

int main()
{
char *a[num]={"aaa","cbgs","gag"};
char b[len];
int i,m=0,j,n=0;
for(i=0;(b[i]=getchar())!='\n';i++);
b[i]='\0';

for(j=0;j<num;j++)
if(strcmp(a[j],b)==0) m=2;

if(m==2) cout<<"find "<<"\""<<b<<"\""<<endl;
else if(m==0)
for(i=0;i<num;i++)
{
{ for(j=0;j<strlen(b);j++)
if(strchr(a[i],b[j])) m=1;
else {m=0;break;}
}
if(m==1)
{
cout<<"是不是要查找:\""<<a[i]<<"\?\""<<endl;
break;
}
}
if(m==0) cout<<"not find "<<"\""<<b<<"\""<<endl;
getche();
}
#4
limner2007-07-30 13:42
回复:(bill8888)我简单编了一下,不知道像这种可以...

这个是模糊查询吧
输入“bbb”时,会输出“你是不是要查找cbgs”

#5
rebelboy2007-07-30 14:26
呵呵,三楼的应该可以吧,
#6
Hevin1232007-08-22 23:53
getche();?
getchar();?
#7
wingyip2007-08-23 07:58
楼主,可以说清楚一点吗?
你的模糊查询的原则是什么?
#8
maoguoqing2007-08-23 12:25
用STL的set,如果没有找到一样的单词,就把set中的元素用来和要找的单词匹配,看是否为子串关系
1