用关键字搜索c语言,c语言-以关键字搜索程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
typedef struct CharList_Node{
char *data;
int vaul;
struct CharList_Node *next;
}cnode;
typedef struct Int_Node{
cnode *bat;
struct Int_Node *next;
}intnode;
typedef struct IndexList_Node{
char *info;
intnode *code;
struct IndexList_Node *next;
}inode;
cnode *CreatCharList()
{
cnode *head,*hp,*tp;
char *a;
char *b="n";
int x;
a=(char*)malloc(sizeof(char));
head=(cnode*)malloc(sizeof(cnode));
head->next=NULL;
hp=head;
printf("Input the CharList,compelete by enter 'n' and number '0'.:\n");/*建立词表,输入字符串,以输入“n”+”回车”以及“0”+"回车” 结束*/
while(EOF!=(scanf("%s""%d",a,&x))&&(*a!=*b))
{
tp=(cnode*)malloc(sizeof(cnode));
strcpy(tp->data,a);
tp->vaul=x;
tp->next=hp->next;
hp->next=tp;
hp=tp;
}
return head;
}
void PrintCharList(cnode *phead)
{
cnode *p;
p=phead->next;
printf("Output the CharList Vaul:\n");
while(p)
{
printf("%s ""%d\n",p->data,p->vaul);
p=p->next;
}
}
intnode *Compare(char *x,cnode *chead)
{
int i;
int j;
int k;
char *a;
intnode *ptr,*hp,*tp;
cnode *p;
ptr=NULL;
p=chead->next;
ptr=(intnode*)malloc(sizeof(intnode));
ptr->next=NULL;
hp=ptr;
while(p)
{ a=p->data;
i=0;
j=0;
k=0;
while((k
{
if(*(x+i)==*(a+j))
{
i++;
j++;
}
else
{
j=++k;
i=0;
}
if(i==(strlen(x)))
{
tp=(intnode*)malloc(sizeof(intnode));
tp->next=hp->next;
tp->bat=p;
hp->next=tp;
hp=tp;
}
}
p=p->next;
}
return ptr;
}
void PrintCode(intnode *inthead)
{
intnode *p;
p=inthead->next;
while(p)
{
printf("%d ""%s\n",p->bat->vaul,p->bat->data);
p=p->next;
}
}
void PrintIndexList(inode *ihead)
{
inode *ip;
intnode *intp;
ip=ihead->next;
while(ip)
{
printf("%s: ",ip->info);
intp=ip->code;
PrintCode(intp);
ip=ip->next;
printf("\n");
}
}
main()
{
cnode *pp;
intnode *pr;
inode *ihead,*hp,*tp;
char *a;
char *b="n";
ihead=(inode*)malloc(sizeof(inode));
ihead->next=NULL;
hp=ihead;
a=(char*)malloc(sizeof(char));
pp=CreatCharList();
PrintCharList(pp);
printf("Please intput index information ,complete by 'n':\n");/*输入索引关键字,以输入"n"+”回车”结束*/
while(EOF!=scanf("%s",a)&&(*a!=*b))
{
pr=Compare(a,pp);
tp=(inode*)malloc(sizeof(inode));
tp->next=hp->next;
strcpy(tp->info,a);
tp->code=pr;
hp->next=tp;
hp=tp;
printf("%s: ",tp->info);
PrintCode(pr);
printf("\n");
}
printf("Press key of 'y' output the IndexList information,overview by 'n':\n");/*输入”y”+”回车”打印索引表,输入"n"+”回车” 退出程序。*/
while(EOF!=scanf("%s",a)&&(*a!=*b))
{
PrintIndexList(ihead);
}
return 0;
}
用关键字搜索c语言,c语言-以关键字搜索程序相关推荐
- c语言关键字不做标识符,C语言标识符、关键字、注释、表达式和语句
这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是标识符(Identifier). 标识符就是程序员自己起的名字,除了变量名,后面 ...
- 图的深度搜索c语言,求图的深度优先搜索!该怎么处理
当前位置:我的异常网» C语言 » 求图的深度优先搜索!该怎么处理 求图的深度优先搜索!该怎么处理 www.myexceptions.net 网友分享于:2013-03-16 浏览:12次 求图的 ...
- java语言只保留了什么_java语言的保留的关键字【小白必读】
关键字是编程语言里事先定义好并赋予了特殊含义的单词,也称作保留字.和其他语言一样,Java中保留了许多关键字,例如, class. public等,下面列举的是Java中所有的关键字. abstrac ...
- c语言共有几种运算符_【填空题】C语言一共有 ()个关键字,()中控制语句,()种运算符...
[填空题]C语言一共有 ()个关键字,()中控制语句,()种运算符 更多相关问题 [填空题] 对煤进行工业分析的目的,是为了判断煤的(). [填空题] 钛的比重是不锈钢的一半,抗腐蚀性是不锈钢的(). ...
- java里的关键字有什么用_java语言关键字有哪些?都有什么用处?
Java语言中的关键字是非常多的,并且有着一定的规范,本文就将带大家深入了解其中详情. 关键字概念 Java中的关键字一般会被用来表示一种数据类型,或表示程序的结构等;它们是不能用作变量名.方法名.类 ...
- python中什么是关键字参数_如何使用python语言中函数的关键字参数的用法
一般情况下,在调用函数时,使用的是位置参数,即是按照参数的位置来传值:关键字参数是按照定义函数传入的参数名称来传值的.那么,关键字参数怎么使用? 工具/原料 python pycharm 截图工具 W ...
- 语言资源的类别、搜索与搭建策略
语言资源的类别.搜索与搭建策略 一.引言 语言资源,本身是一个宽泛的概念,即语言+资源,语言指的是资源的限定域,资源=资+源,是资料的来源或者汇总,加在一起,也就形成了这样一种界定:任何语言单位形成的 ...
- C语言深入理解系列 - 关键字:auto和register
本文系本站原创,欢迎转载! 转载请注明出处: http://blog.csdn.net/mr_raptor/article/details/7209452 ++++++++++++++++++++++ ...
- c语言关键字中文意思,C语言的32个关键字是什么意思啊
C语言的32个关键字是什么意思啊 32个关键字是什么意思有谁知道的要简洁一点的 更新时间:2019-06-03 22:54 最满意答案 1. 数据类型关键字(12个): (1). char :声明字符 ...
- sqlite 无符号32_C语言的32个关键字
图控大叔 构图传递思想 阅读从未如此简单!!! 01 前言 今天对C语言的32个关键字做一下分类整理. 02 具体内容 对C语言的32个关键字做分类,一共可以分成四大类.如下: 具体分类如下: 数据类 ...
最新文章
- Boost--Graph
- mysql 子查询多个字段_MySql基础
- 构造函数不能为虚函数
- 面经——嵌入式软件工程师ARM体系与架构相关
- csv转json文件
- 2022年中国即时配送行业趋势研究报告
- 【Android开发坑系列】之PopupWindow
- 输入输出流_内部存储·
- 设计师需要的素材、教程、工具等网站收集
- 计算机网络是由网络硬件网络软件,超星尔雅FPGA应用开发课程设计期末答案
- MTK6589平板上launcher的一些小修改
- html5判断屏幕锁屏,js实现自动锁屏功能
- 恒流源差分放大电路静态分析_多级放大电路以及差分放大电路
- BeyondCompare4.0比较代码内容相同但显示红色问题终结方案
- 计算机网络:非持久HTTP连接 VS 持久性HTTP 连接
- Matlab 动态输入变量和嵌套函数、匿名函数
- 我们对区块链游戏的期望太高了
- Revit新建平面视图
- 专访许长敬:移动互联网将进入电子商务阶段
- 什么时间锻炼身体最佳?