c语言如何实现模糊查找?

Python022

c语言如何实现模糊查找?,第1张

1、首先,打开网页-【C语言在线编程工具】。

2、接着,先定义一个大数字。

3、接着通过【数字转换成字符串】,并逗号分隔。

4、最后,在主函数实现整体的功能。流程是【定义数字->转换->输出】。

5、输出效果如下。

仅供参考~

#define MAX_VERTEX_NUM 100 //最大顶点

#define MAX_INT 10000 //无穷大

typedef int AdjType

typedef struct{

int pi[MAX_VERTEX_NUM]//存放v到vi的一条最短路径

int end

}PathType

typedef char VType//设顶点为字符类型

typedef struct{

VType V[MAX_VERTEX_NUM]//顶点存储空间

AdjType A[MAX_VERTEX_NUM][MAX_VERTEX_NUM]//邻接矩阵

}MGraph//邻接矩阵表示的图

//Floyd算法

//求网G(用邻接矩阵表示)中任意两点间最短路径

//D[][]是最短路径长度矩阵,path[][]最短路径标志矩阵

void Floyd(MGraph * G,int path[][MAX_VERTEX_NUM],int D[][MAX_VERTEX_NUM],int n){

int i,j,k

for(i=0i<ni++){//初始化

for(j=0j<nj++){

if(G->A[i][j]<MAX_INT){

path[i][j]=j

}else{

path[i][j]=-1

}

D[i][j]=G->A[i][j]

}

}

for(k=0k<nk++){//进行n次试探

for(i=0i<ni++){

for(j=0j<nj++){

if(D[i][j]>D[i][k]+D[k][j]){

D[i][j]=D[i][k]+D[k][j]//取小者

path[i][j]=path[i][k]//改Vi的后继

}

}

}

}

}

int main(){

int i,j,k,v=0,n=6//v为起点,n为顶点个数

MGraph G

int path[MAX_VERTEX_NUM][MAX_VERTEX_NUM]//v到各顶点的最短路径向量

int D[MAX_VERTEX_NUM][MAX_VERTEX_NUM]//v到各顶点最短路径长度向量

//初始化

AdjType a[MAX_VERTEX_NUM][MAX_VERTEX_NUM]={

{0,12,18,MAX_INT,17,MAX_INT},

{12,0,10,3,MAX_INT,5},

{18,10,0,MAX_INT,21,11},

{MAX_INT,3,MAX_INT,0,MAX_INT,8},

{17,MAX_INT,21,MAX_INT,0,16},

{MAX_INT,5,11,8,16,0}

}

for(i=0i<ni++){

for(j=0j<nj++){

G.A[i][j]=a[i][j]

}

}

Floyd(&G,path,D,6)

for(i=0i<ni++){//输出每对顶点间最短路径长度及最短路径

for(j=0j<nj++){

printf("V%d到V%d的最短长度:",i,j)

printf("%d\t",D[i][j])//输出Vi到Vj的最短路径长度

k=path[i][j]//取路径上Vi的后续Vk

if(k==-1){

printf("There is no path between V%d and V%d\n",i,j)//路径不存在

}else{

printf("最短路径为:")

printf("(V%d",i)//输出Vi的序号i

while(k!=j){//k不等于路径终点j时

printf(",V%d",k)//输出k

k=path[k][j]//求路径上下一顶点序号

}

printf(",V%d)\n",j)//输出路径终点序号

}

printf("\n")

}

}

system("pause")

return 0

}

一要能够查找文件名,首先,要能够遍历目录;把它写出来

二在1的基础上,把获得的每个文件名与key比较,若文件名包含key则找到输出,并

继续;否则不输出继续,查下一个

文件名包含key判断方面,<string.h>里有个strstr可以使用;具体你翻查看下,不再赘述。