一个C语言问题,谁帮我想个算法。。。。

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:15:39
从键盘上输入一个带有*的单词,*可以代表a到z的任何一个字母,*在单词中出现的位置以及次数都不确定,如可以是g*od be** 等等,。。求一个算法,输出所有输出所有满足条件的单词。
就是我要实现模糊查找英语单词就必须先列出所有可能的情况 然后一一查询 用户在查询单词的时候可能不记得要查询单词的部分字母 然后用*来代替这些字母查询。。。不是很抽象吧。。。
一个*就输出26个结果,两个就输出26×26个结果 一般不会太多*的。。。单词库是有的,但是我要先列出所有的情况然后再去单词库里面找。。。

不用列出所有情况啊,只要在查找单词库的函数中,在比较单词是否相等的那段代码中,遇到*就忽略直接算相同不就行了.

没看明白

你的*号只能代表一个字母?
那你得有词库啊?
先有单词的长度。然后按个检索吧。
先检索出所有单词(有的可能不是单词)。然后和词库对比一下。选出正确的。

看懂了,但是不会做 呵呵

一个字符串查找问题
将检索的串存在字符数组中a[i]=g*od be**
检索函数
。。。
if(a[i]=='*')
{
循环i到结束
查找a[i]中下一个不是*的a[j]
查找下一个*
将其间的串赋值在库中检索
}

没这么大的单词库啊···