关键字搜索 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). 标识符就是程序员自己起的名字,除了变量名,后面 ...
- 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个关键字做分类,一共可以分成四大类.如下: 具体分类如下: 数据类 ...
- c语言的37个关键字,c语言的37个关键字都是什么
满意答案 qekcs 2017.08.17 采纳率:52% 等级:9 已帮助:964人 关键字就是已被C语言本身使用,不能作其它用途使用的字.例如关键字不能用作变量名.函数名等 由ANSI标准定 ...
- java在方法中用来抛出异常关键字的是,在Java语言中以下哪个关键字用于在方法上声明抛出异常()...
在Java语言中以下哪个关键字用于在方法上声明抛出异常() 更多相关问题 [判断题] 现金到账户汇款和账户到账户汇款简称为入账汇款. [单选] 客户办理一笔134.45元按址汇款,附言5个汉字,共应收 ...
最新文章
- Forefront_TMG_2010-TMG建立站点间***
- 在Ruby中获取system()调用的输出
- LeetCode Peeking Iterator
- Apache源代码全景分析第二卷——HTTP请求处理
- 感知器的c++实现_使用FastAI和PyTorch的多层感知器
- NET问答: 如何检查一个 string 是否为有效的 url 格式?
- open、read、write、文件类型
- 立方体引起的引力异常计算&画图
- android 480p分辨率,[RK3399][Android7.1] HDMI显示屏(副屏)调试记录小结
- Android基础巩固进阶
- PPC莫名死机,上周末为此hard reset了两次重装,这几天又历史重演,今天再次硬复位。想我那个Palm TT...
- qq 病毒 html,盗qq号软件里有病毒吗
- 采铜:基于心理学的高效学习策略
- 钉钉群机器人关键词自动回复_企业微信营销机器人怎么接入?
- 【文智背后的奥秘】系列篇——文本聚类系统
- html第一个子元素选择,css选中父元素下的第一个子元素(:first-child)
- C++技术的主要应用领域
- 双系统Linux grub引导,双系统修复ubuntu grub2引导的方法
- Python正则表达式去掉字符串下划线末尾的纯数字
- 无锁环形队列的几种高效实现
热门文章
- 4.2.3 OS之减少磁盘延迟时间的方法(交替编号、错位命名)
- 域名系统DNS、文件传送协议FTP、动态主机配置协议DHCP、远程登录协议TELNET、电子邮件协议(SMTP/POP3/IMAP)、常用端口
- C/Cpp / string 截取、替换、查找
- Linux / 僵尸进程、孤儿进程 产生原因、有什么危害、如何预防(解决方案)
- C++ 函数传参的三种方式
- python3默认使用的编码是_python3里的中文编码是什么?
- c语言怎么往栈中输入元素,C语言栈操作
- 简述ie_apache_php_mysql的关系?,apache +php + mysql
- loj 2542 随机游走 —— 最值反演+树上期望DP+fmt
- Opengl_20 _复习变换矩阵+复习光源+两个模型使用不同的shader