输入任意多个关键字,按各种查找方法查找某个关键字。(用C语言描述)
//二分查找 来实现
#include "stdio.h"
typedef struct
{
char *elem;
int length;
}sstable;
void create(char **t)
{
int i;
static char a[11];
*t=a;
for(i=1;i<=10;i++)
{ //输入任意多个关键字
printf("A[%d] is:",i);
scanf("%c",&a[i]);
if (a[i] != '
') getchar();
}
}
int searth(char *t,char k)
{
int i;
for (i=10;i>=0 && t[i]!=k ;i--);
return i;
}
void output(char *t)
{
int i;
for (i=1;i<=10;i++)
printf("
A[%d] is %c",i,t[i]);
}
void px(char *t)
{
char s;
int i,j;
for (i=1;i<=10;i++)
for (j=i+1;j<=10;j++)
{
if (t[i]>t[j]) {s=t[i];t[i]=t[j];t[j]=s;}
}
}
int search_bin(char *t,char k)
{
int low=1,high=10,mid;
while (low<=high)
{
mid=(low+high)/2;
if (k==t[mid]) return mid;
else if (k<t[mid]) high=mid-1;
else low=mid+1;
}
return 0;
}
main()
{
char *t,k;
int s;
create(&t);
output(t);
printf("
please input you search char:"); //输入你要查找的某个关键字
k=getchar();
s=searth(t,k);
if (s>=0) printf("1: use search find is A[%d]
",s);
else printf("1:can not find it
");
px(t);
output(t);
s=search_bin(t,k);
if(s==0) printf("
1:can not find it
");
else printf("
2:use search_bin find is A[%d]
",s);
getchar();
}
这个有两点。一是数据结构的选择,另一个是查找算法的选取。
数据结构有数组、链表、栈、树等结构,查找方法有蛮力法、二分法、堆、二叉树查找等方法。像二分法需要先对关键字进行排序之后才能使用。
回答者:tk890523 - 试用期 一级 12-28 13:22
你应该在这里找不到答案,因为问题回答出来,200元人名币都值了
回答者:kinglong1 - 经理 四级 12-28 13:29
键盘上的Ctrl+F 是查找
回答者:掌心のBAAL - 门吏 三级 12-28 13:29
当你输入关键字时,系统会从你输入关键字的地方取得你所输入的关键字,然后运行一个查询功能的程序,在在查询出来的结果中在查找你要找的。
回答者:china139hao - 助理 三级 12-28 13:40
题目不难。给一思路
你知道查找的关键字的长度L吧(很明显,因为关键字都列出来了)
把你输入的关键字读入。
自己写个字符串类哈。功能只要实现C++字符串类的求长度和取子字符串
读入字符串S
for(int i=0;i<S.length();i++)
if(S.substr(i,L).compare(string you search)==0)
this is one
回答者:winelover72 - 高级经理 六级 12-28 13:57
表述不清?
回答者:Lcisware - 江湖新秀 五级 12-28 16:02
//二分查找
#include "stdio.h"
typedef struct
{
char *elem;
int length;
}sstable;
void create(char **t)
{
int i;
static char a[11];
*t=a;
for(i=1;i<=10;i++)
{ //输入任意多个关键字
printf("A[%d] is:",i);
scanf("%c",&a[i]);
if (a[i] != '\n') getchar();
}
}
int searth(char *t,char k)
{
int i;
for (i=10;i>=0 && t[i]!=k ;i--);
return i;
}
void output(char *t)
{
int i;
for (i=1;i<=10;i++)
printf("\n A[%d] is %c",i,t[i]);
}
void px(char *t)
{
char s;
int i,j;
for (i=1;i<=10;i++)
for (j=i+1;j<=10;j++)
{
if (t[i]>t[j]) {s=t[i];t[i]=t[j];t[j]=s;}
}
}
int search_bin(char *t,char k)
{
int low=1,high=10,mid;
while (low<=high)
{
mid=(low+high)/2;
if (k==t[mid]) return mid;
else if (k<t[mid]) high=mid-1;
else low=mid+1;
}
return 0;
}
main()
{
char *t,k;
int s;
create(&t);
output(t);
printf("\nplease input you search char:"); //输入你要查找的某个关键字
k=getchar();
s=searth(t,k);
if (s>=0) printf("1: use search find is A[%d]\n",s);
else printf("1:can not find it\n");
px(t);
output(t);
s=search_bin(t,k);
if(s==0) printf("\n1:can not find it \n");
else printf("\n2:use search_bin find is A[%d]\n",s);
getchar();
}
当你输入关键字时,系统会从你输入关键字的地方取得你所输入的关键字,然后运行一个查询功能的程序,在在查询出来的结果中在查找你要找的。
题目不难。给一思路
你知道查找的关键字的长度L吧(很明显,因为关键字都列出来了)
把你输入的关键字读入。
自己写个字符串类哈。功能只要实现C++字符串类的求长度和取子字符串
读入字符串S
for(int i=0;i<S.length();i++)
if(S.substr(i,L).compare(string you search)==0)
this is one
//二分查找
#include "stdio.h"
typedef struct
{
char *elem;
int length;
}sstable;
void create(char **t)
{
int i;
static char a[11];
*t=a;
for(i=1;i<=10;i++)
{ //输入任意多个关键字
printf("A[%d] is:",i);
scanf("%c",&a[i]);
if (a[i] != '\n') getchar();
}
}
int searth(char *t,char k)
{
int i;
for (i=10;i>=0 && t[i]!=k ;i--);
return i;
}
void output(char *t)
{
int i;
for (i=1;i<=10;i++)
printf("\n A[%d] is %c",i,t[i]);
}
void px(char *t)
{
char s;
int i,j;
for (i=1;i<=10;i++)
for (j=i+1;j<=10;j++)
{
if (t[i]>t[j]) {s=t[i];t[i]=t[j];t[j]=s;}
}
}
int search_bin(char *t,char k)
{
int low=1,high=10,mid;
while (low<=high)
{
mid=(low+high)/2;
if (k==t[mid]) return mid;
else if (k<t[mid]) high=mid-1;
else low=mid+1;
}
return 0;
}
main()
{
char *t,k;
int s;
create(&t);
output(t);
printf("\nplease input you search char:"); //输入你要查找的某个关键字
k=getchar();
s=searth(t,k);
if (s>=0) printf("1: use search find is A[%d]\n",s);
else printf("1:can not find it\n");
px(t);
output(t);
s=search_bin(t,k);
if(s==0) printf("\n1:can not find it \n");
else printf("\n2:use search_bin find is A[%d]\n",s);
getchar();
}
你应该在这里找不到答案,因为问题回答出来,200元人名币都值了
使用搜索引擎时可以通过输入多个关键词来细化搜索条件对吗
使用搜索引擎的时候,可以一次输入多个关键字,可以输入一个,也可以输入两个、三个、四个,最多可以输入一句话。搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出指定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、...
在文本框输入多个关键字以空格隔开(如:a b c),在多个字段中查出含有(a...
String str=this.textbox1.text.trim();string [] strs=str.split(' ');\/\/这里是查询条件的数组 string sql=" select * from 表 where "string condition="";for(int i=0;i<strs.length; i++){ if(condtion==""){ condtion= " name='"+ strs[i] +"' ";} else { c...
win10如何同时搜索多个关键词?
1. 打开文件资源管理器,进入需要搜索的文件夹或驱动器。2. 在搜索栏中输入第一个关键词,按下空格,再输入第二个关键词,以此类推,可输入多个关键词。3. 按下“回车”键即可开始搜索,Windows将会搜索包含这些关键词的文件和文件夹。4. 如要缩小搜索结果范围,可在搜索工具栏点击"筛选",选择更加...
windows系统下如何通过搜索多个关键字搜索到多个文件
D“搜索” 2、选择搜索文件类型 3、输入搜索文件名称,当搜索多个文件的时候文件的中间用“逗号”隔开,例如要同时要搜索到1、2、3文档,在里面输入 1,2,3 然后点击搜索即可。 二、VISTA系统同时搜索多个关键字(两种方法)1、点击“开始”,在搜索框中输入要搜索的关键字,然后每个关键字中间使用“...
Excel可以按几个关键字排序
在Excel中可以多次进行排序操作,因此EXCEL中是可以按任意多个关键字排序的。EXCEL的排序的对话框中每次最多可按3个关键字进行排序。MicrosoftExcel是Microsoft为使用Windows和AppleMacintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行...
如何在EXCEL中实现多个关键字的联合查询?
excel中可以通过使用通配符达到多个关键字联合查询的目的。①首先准备好要查找的数据。②点击键盘上的“Ctrl”+“F”键,会弹出查询对话框。③然后在查询内容中输入“四川省*108号”,然后点击“查找下一个”,excel就会将 符合条件的第一个单元格作为选中对象。另外解释一下“*”这个通配符的意思是,...
excel中如何实现搜索多个关键字?
打开需要操作的EXCEL表,选择相关单元格,然后在“开始”选项卡中依次单击“排序和筛选”-->“筛选”选项后面的倒三角形,然后依次选择“文本筛选”-->“包含”选项,执行完上面的操作之后,输入要筛选的多个关键词,然后单击“确定”按钮进行确认,执行完上面的操作之后,返回EXCEL表,发现已成功筛选多个...
word中最多能输入几个关键字
在Word中可以同时查找250多个关键字。1、打开Word文档,点击“编辑”栏下的“查找”,再点击“高级查找”会弹出一个对话框。2、勾选“使用通配符”,在查找内容中输入要查找的内容(其中括号和花括号一定要用英文半角,花括号中的数字表示每次查找的字符个数),点击“查找下一处”即可查找。3、突出显示...
如何用mysql查询多个关键字
1)username=admin,password=000000 2)username=admin,password=123456 我们要实现的效果是可以输入多个关键字查询,多个关键字间以逗号分隔。使用上述表举例:输入单个关键字“admin”可查出这两条数据,输入“admin,000000”只查出第一条数据,可实现的sql语句是:select from user where concat(username,...
怎么在wps中查找多个关键字?
1、首先打开需要查找的WPS文档,并按下Ctrl加F键。2、接着在弹出的对话框中输入想要查找的关键字,并按下回车键即可。WPSOffice是由金山软件股份有限公司自主研发的一款办公软件套装,可以实现办公软件最常用的文字编辑、表格、演示稿等多种功能。具有内存占用低、运行速度快、体积小巧、强大插件平台支持、...
贸平静安: h"=10;n2,&a[i]);j<for(i=1;t[i]=t[j];typedef struct {char *elem;scanf("return i,k);;) getchar(),s);A[%d] is;} }int searth(char *t;else printf("t[j]) {s=t[i];n"for (i=1;;;s=searth(t;n A[%d] is %c"1:can not find it \,high=10;i++)for (j=i+1;output(t);void ...
新蔡县18536777811: EXCEL用多个关键字查找删除整行 - ?
贸平静安: 两个注意点: =if(sum(--isnumber(find(G$1:G$3,C2))),,"")这个公式要用CTRL+SHIFT+回车输入或者改为:=IF(SUMPRODUCT(--ISNUMBER(FIND(G$1:G$3,C2))),0,"")其次,G1:G3中不能有空白单元格,如果只填两个关键词,另一个留空,就会将所有行都标出来.建议在多余的关键词单元格内填写一串随机文本即可.
新蔡县18536777811: 在textbox1中输入多个关键字,实现搜索的sql语句.如输入,小明,大强,桂花,那么就能搜索到所有结果.?
贸平静安: 对kki鑫代码修改如下:string[] tmpStr=textbox1.Text.Split(" ".ToCharArray());//这样就按空格分词了.然后for循环就可以了string sqlwhere="";for(int i=0;i<tmpStr.Length;i++){ if (i!=tmpStr.Length-1){ sqlwhere+="字段名 like %"+tmpStr[i]+"% or ";}else{sqlwhere+="字段名 like %"+tmpStr[i]+"%";}string SQL="select * from table where "+sqlwhere;}
新蔡县18536777811: mysql多种关键字查找 - ?
贸平静安: 可以这样编写SQL语句 这里假设表结构如下:t1(colToChk,col2) t2(keyword) 列出待查关键字、t2中"colToChk"字段中含待查关键字的相关记录行.select a.keyword,b.* from (select distinct keyword from t2) a,t1 b where b.colToChk like concat('%',a.keyword,'%'); 题主将上述SQL语句套上正确的表名和字段名就可以返回所需的效果.
新蔡县18536777811: excel批量查找多个关键字 - ?
贸平静安: 比如关键字在a列,那你在c1开始输入这些关键字,在d1输入=countif(a:a,c1)向下填充.
新蔡县18536777811: 关键字的查询方法 - ?
贸平静安: 用like 查吧 例如:select * from 表 where 名字 like '%关键字%' or 描述 like '%关键字%'
新蔡县18536777811: 如何在EXCEL实现多关键字搜索 - ?
贸平静安: 假定“数据记录”表的“产品号”(具有唯一性)在A列,数据从第2行开始存放,“搜索”表中的各列的内容与数据记录表一致,那么输入产品号,其他数据均可自动加入到该表中. 在“搜索”表中B2单元格输入公式: =IF(AND(A2<>"",COUNTIF(数据记录表!A:A,A2)),VLOOKUP(A2,数据记录表!A:Z,COLUMN(B2),0),"")右拉填充,下拉填充
新蔡县18536777811: Ultraedit如何查找多个关键字符串 - ?
贸平静安: 搜索——在文件中查找,两种方式: 1、列出的文件:填入关键字,文件/类型如 *.asp,目录如 D:\Website\,点“查找” 2、打开文件:输入关键字就可以查找,这方式只在ultraedit打开的文件里查找.
新蔡县18536777811: SQL语句如何实现随意输入关键字查询 例如:表中有字段“ddghhgdddgvdwtghgfghgd - ?
贸平静安: 你说的应该是模糊查询, 在你的查询内容 前后加上 %xxx% 再进行查询试试应该就可以了.模糊查询教科书上有很详细的解释,你可以查看下
新蔡县18536777811: excel查找关键词并选中全部 - ?
贸平静安: 1.先在数据menu上选筛选功能.2.点筛选的下拉箭头---自定义---不等于或不包含---例如是abc.3.得出筛选结果,这是的结果就是不包含不需要信息的行了,copy全部.4.开一个新sheets,点a1,然后右键---选择性粘贴--数值/文本(看你是什么数据了) 这样就可得出你所需要的资料