该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#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语言-以关键字搜索程序相关推荐

  1. C语言过河问题主函数,c,c++_C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因?,c,c++,算法 - phpStudy...

    C语言踩石头过河问题,用DFS搜索递归了17万次但是没报错,请问是什么原因? 这是原题目,后面附上我的代码,刚刚接触DFS,不是很熟练,求教育--谢谢!!!TUT 这是题目,我大概概括一下 用'※'和 ...

  2. C语言32个关键字与C++62个关键字详解

    C语言32个关键字 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int 声明整型变量或函数 long 声明长整型变量或函数 float 声明浮点型变量或函数 double ...

  3. 根据作用C语言关键字分为,C语言 关键字

    关键字就是已被C语言本身使用,不能作其它用途使用的字.例如关键字不能用作变量名.函数名等 由ANSI标准定义的C语言关键字共32个. 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两 ...

  4. Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

    一.前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目 ...

  5. c语言volatile含义,c语言中volatile关键字是什么含义怎么办呢?

    满意答案 yyvalentine 2016.11.26 采纳率:56%    等级:11 已帮助:4891人 C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立 ...

  6. c语言存储类型关键字作用,C语言, 存储类型关键字?

    1.C语言的数据类型分类 C语言的数据类型分类: 基本数据类型: 整型int 字符型char 浮点型: 单精度浮点型float 双精度浮点型double 构造数据类型: 数组(如int a[]) 结构 ...

  7. c语言存储类型关键字作用,c语言学习笔记.关键字.存储类型关键字等

    关键字const 1.修饰变量. 修饰的对象为常量,只读. 2.修饰指针. const 也可以和指针变量一起使用,这样可以限制指针变量本身,也可以限制指针指向的数据. const 离变量名近就是用来修 ...

  8. c语言系统关键字6,C语言语法之关键字

    由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char ...

  9. c语言 关键字 and,C语言的关键字(一)

    每次讲关键字之前,我总是问学生:C 语言有多少个关键字?sizeof 怎么用?它是函数 吗?有些学生不知道 C 语言有多少个关键字,大多数学生往往告诉我 sizeof 是函数,因为 它后面跟着一对括号 ...

  10. 读书笔记之《C语言深度剖析》第一章:关键字

    第一章引言 什么是定义及声明? 定义:定义是编译器创建一个对象,并且为这个对象分配一块内存并给它取上一个名字,这个名字就是我们经常所说的变量名或对象名. 声明:1.告诉编译器该变量名已经匹配了一个内存 ...

最新文章

  1. Android 界面布局之RelativeLayout
  2. 通过管道传输快速将MySQL的数据导入Redis(自己做过测试)
  3. 运维学习之进程的定义及其命令的使用
  4. Fiori note automatic delete deletion scenario
  5. 商品详细信息的代码html_Web前端,你该有的代码规范
  6. C++安全方向:(三)课前导学:密码学核心开发技术
  7. python之三元表达式嵌套三元表达式解析
  8. 职称计算机xp系统试题,2020年职称计算机WindowsXP测试题及答案.doc
  9. 底图切换_如何用PPT切换效果制作时间轴推进动画?
  10. 2021哈工程计算机考研科目,2021考研大纲:哈尔滨工程大学计算机专业基础综合2021年硕士研究生自命题考试大纲...
  11. SQL Server 2008 R2安装步骤示例
  12. 关于数字签名驱动解决方法
  13. 地心、南极、太平洋……那些年亚特兰蒂斯“去”过的地方
  14. django静态页面
  15. windows系统清理垃圾文件
  16. 数据治理-数据生命周期管理一
  17. 编译原理 | 由正规文法构造状态转换图
  18. mmdetection2.24.1修改backbone(使用mmcls和timm已有模型)
  19. 就是美女,怎么了!!!
  20. shell 正则取出中间文本。

热门文章

  1. 图片爬取数据解析数据持久化
  2. 异或交换值(有趣点)
  3. ACM入门之【DP】
  4. 1047 Student List for Course (25 分)【难度: 简单 / 知识点: 模拟】
  5. 3.2.1 虚拟内存的基本概念
  6. mybatisplus自动生成id_mybatisPlus自动代码生成实例(超级简单使用)
  7. 【LeetCode】LC1408:一维数组的动态和
  8. 从偏远的小山村出来的孩子,一路的 “辛酸史”
  9. Nginx 教程:基本概念
  10. 【struts2+hibernate+spring项目实战】Jfreechart工具使用(ssh项目实战)