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++_C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因?,c,c++,算法 - phpStudy...
C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因? 这是原题目,后面附上我的代码,刚刚接触DFS,不是很熟练,求教育--谢谢!!!TUT 这是题目,我大概概括一下 用'※'和 ...
- C语言32个关键字与C++62个关键字详解
C语言32个关键字 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double ...
- 根据作用C语言关键字分为,C语言 关键字
关键字就是已被C语言本身使用,不能作其它用途使用的字.例如关键字不能用作变量名.函数名等 由ANSI标准定义的C语言关键字共32个. 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两 ...
- Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...
一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...
- c语言volatile含义,c语言中volatile关键字是什么含义怎么办呢?
满意答案 yyvalentine 2016.11.26 采纳率:56% 等级:11 已帮助:4891人 C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立 ...
- c语言存储类型关键字作用,C语言, 存储类型关键字?
1.C语言的数据类型分类 C语言的数据类型分类: 基本数据类型: 整型int 字符型char 浮点型: 单精度浮点型float 双精度浮点型double 构造数据类型: 数组(如int a[]) 结构 ...
- c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等
关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...
- c语言系统关键字6,C语言语法之关键字
由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char ...
- c语言 关键字 and,C语言的关键字(一)
每次讲关键字之前,我总是问学生:C 语言有多少个关键字?sizeof 怎么用?它是函数 吗?有些学生不知道 C 语言有多少个关键字,大多数学生往往告诉我 sizeof 是函数,因为 它后面跟着一对括号 ...
- 读书笔记之《C语言深度剖析》第一章:关键字
第一章引言 什么是定义及声明? 定义:定义是编译器创建一个对象,并且为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名. 声明:1.告诉编译器该变量名已经匹配了一个内存 ...
最新文章
- Android 界面布局之RelativeLayout
- 通过管道传输快速将MySQL的数据导入Redis(自己做过测试)
- 运维学习之进程的定义及其命令的使用
- Fiori note automatic delete deletion scenario
- 商品详细信息的代码html_Web前端,你该有的代码规范
- C++安全方向:(三)课前导学:密码学核心开发技术
- python之三元表达式嵌套三元表达式解析
- 职称计算机xp系统试题,2020年职称计算机WindowsXP测试题及答案.doc
- 底图切换_如何用PPT切换效果制作时间轴推进动画?
- 2021哈工程计算机考研科目,2021考研大纲:哈尔滨工程大学计算机专业基础综合2021年硕士研究生自命题考试大纲...
- SQL Server 2008 R2安装步骤示例
- 关于数字签名驱动解决方法
- 地心、南极、太平洋……那些年亚特兰蒂斯“去”过的地方
- django静态页面
- windows系统清理垃圾文件
- 数据治理-数据生命周期管理一
- 编译原理 | 由正规文法构造状态转换图
- mmdetection2.24.1修改backbone(使用mmcls和timm已有模型)
- 就是美女,怎么了!!!
- shell 正则取出中间文本。
热门文章
- 图片爬取数据解析数据持久化
- 异或交换值(有趣点)
- ACM入门之【DP】
- 1047 Student List for Course (25 分)【难度: 简单 / 知识点: 模拟】
- 3.2.1 虚拟内存的基本概念
- mybatisplus自动生成id_mybatisPlus自动代码生成实例(超级简单使用)
- 【LeetCode】LC1408:一维数组的动态和
- 从偏远的小山村出来的孩子,一路的 “辛酸史”
- Nginx 教程:基本概念
- 【struts2+hibernate+spring项目实战】Jfreechart工具使用(ssh项目实战)