#include

#include

#include

#define NKEYS (sizeof keytab / sizeof(struct key))

struct key

{

char *word;

int count;

};

/*关键字列表(注意一定要按字典排序)*/

struct key keytab[15] =

{

"abort",0,

"break",0,

"clock",0,

"define",0,

"echo",0,

"fgetc",0,

"get",0,

"help",0,

"insert",0,

"jump",0,

"kind",0,

"long",0,

"malloc",0,

"null",0,

"operate",0

};

int binarysearch(char *word, struct key tab[], int n);

int getword(char *word);

/*

功能:统计输入文本中关键字出现的次数。

*/

int main()

{

char word[30];

int n;

while(getword(word) != 0 && strcmp(word,"quit") != 0)

{

if((n = binarysearch(word,keytab,NKEYS )) >= 0);

keytab[n].count++;

}

for(n = 0; n < NKEYS; n++)

{

if(keytab[n].count > 0)

printf("%s : %d

",keytab[n].word,keytab[n].count);

}

return 0;

}

/*从输入端得到一个单词*/

int getword(char *word)

{ char c;

int i = 0;

while(isspace(c = getchar()))

;

while(1)

{

if(c != '

' && c != ' ' && c != '' && isalpha(c))

word[i++] = c;

if(c == '

' || c == ' ' )

{

word[i] = ' ';

return i;

}

c = getchar();

}

return i;

}

/*binarysearch 函数: 在tab[0]到tab[n]中查找单词*/

int binarysearch(char *word, struct key tab[], int n)

{

int mid,l,h,flag;

l= 0;

h = n - 1;

while(l <= h)

{

mid = (l + h)/2;

if( (flag = strcmp(word,tab[mid].word)) < 0)

h = mid - 1;

else if(flag > 0)

l = mid + 1;

else

return mid;

}

return -1;

}

统计次数c语言,C 语言统计关键字出现次数相关推荐

  1. 实现统计一个字符串中的每个单词出现的次数--基于Go语言

    实现统计一个字符串中的每个单词出现的次数–基于Go语言 package mainimport ("fmt""strings" )func main() {//统 ...

  2. 数据结构源码笔记(C语言):统计字符串中出现的字符及其次数

    //统计一个字符串中出现的字符及其次数 #include<stdio.h> #include<malloc.h> #include<string.h>#define ...

  3. c语言统计n个正整数中每个数出现的次数,C语言怎么统计每个数出现的个数

    C语言统计英语单词的个数 #include#includeintmain(){chara[80];inti,num=0;gets(a);for(i=0;a[i]!='\0';i++)//这里应该检查到 ...

  4. C语言case次数有限制吗,用switch...case语句统计数字、空格和其他字符出现的次数...

    //用switch...case语句统计数字.空格和其他字符出现的次数 //转自K&R #include int main(void) { int c, i, nwhite, nother, ...

  5. C语言实现英文单词统计

    前言 发现一个很久以前的数据结构课设(英文单词统计),C语言写的,记录在此,待需要的人 题目 研究人员需要统计某篇英文文章中某些特定单词出现的次数和位置.请写出一个实现这一目标的英文单词统计小程序. ...

  6. C语言二叉树字符统计,C语言实现二叉树-利用二叉树统计单词数目

    昨天刚参加了腾讯2015年在线模拟考: 四道大题的第一题就是单词统计程序的设计思想: 为了记住这一天,我打算今天通过代码实现一下: 我将用到的核心数据结构是二叉树: (要是想了解简单二叉树的实现,可以 ...

  7. R语言的各种统计分布函数

    转载自品略图书馆 http://www.pinlue.com/article/2018/09/1613/487222559948.html R语言的各种统计分布函数 1.二项分布Binomial di ...

  8. [我们是这样理解语言的-2]统计语言模型

    [我们是这样理解语言的-2]统计语言模型 2015/02/28 搜索技术.自然语言处理 LM.n-gram.NLP.统计语言模型.自然语言处理.语言模型 fandywang 记得最早学习语言模型是在研 ...

  9. 打通语言理论和统计NLP,Transformers/GNNs架构能做到吗?

    作者 | Chaitanya K. Joshi 译者 | 苏本如,责编 | 夕颜 来源 | CSDN(ID:CSDNnews) 我的工程师朋友经常问我:图深度学习听起来很棒,但是有没有实际应用呢? 虽 ...

  10. R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息、数值数据的描述性统计(Numerical data)、离散型数据的描述性统计(Categorical)

    R语言数据描述性统计(Descriptive statistics)实战:数据全局描述信息.数值数据的描述性统计(Numerical data).离散型数据的描述性统计(Categorical) 目录

最新文章

  1. 这个ERP的冬天好冷啊!
  2. TF之CNN:基于CIFAR-10数据集训练、检测CNN(2+2)模型(TensorBoard可视化)
  3. Angular ngOnChanges hook学习笔记
  4. java 中的 什么意思啊_JAVA 中的 - 是什么意思?
  5. 大数据技术全解之数据能力是核心竞争力
  6. wow服务器文件夹,《60级魔兽世界WTFWDB文件夹全解析 by Qcat》
  7. css让div背景变成半透明
  8. Linux下sh文件执行权限不够
  9. SSD浅层网络_ssd目标检测
  10. 如何关闭H3C的交换机路由器等设备上使用SFP模块时候产生的警告提示
  11. ubuntu用户磁盘空间分配--quota
  12. 当里皮也成过客,请善待国足主帅的继任者
  13. Gromacs基础教程一:入门建议
  14. Appium-python-Android
  15. 谷歌金融 Onebox 实现实时信息更新
  16. 1.Redis面试宝典
  17. BCB数据库问题总结
  18. php开源论坛系统,十款开源论坛系统推荐(二)
  19. dubbo-admin 容器化构建
  20. Rocket之nameServer

热门文章

  1. hadoop学习笔记:运行wordcount对文件字符串进行统计案例
  2. 面试中一个暴露能力等级的问题
  3. 全网最详细SpringBatch批处理读取分区(Paratition)文件讲解
  4. 开源混合云:harvester混合应用架构
  5. Scala 函数声明及调用案例详解
  6. 【收藏】k8s: pod has unbound PersistentVolumeClaims问题解决
  7. Scala函数的调用过程分析
  8. scala for循环
  9. maven pom指定jdk版本及utf-8字符编码
  10. Spring Boot整合Apollo完整示例