统计一个字符串中的单词数
1.思路分析:
单词的数目可以有空格出现的次数来进行统计,判定原则:当出现“ * 空格+字母
* ”的组合是,认定一个单词出现。但是需要注意以下几点:
(1)字符串默认:字符串中只包含空格和字母2种字符,不会出现别的特殊字符;
(2)字符开头的空格不在计算内:因此fspace初始值为1
2.实现代码:
#include <stdio.h>
#include <stdlib.h>int main()
{char *p = NULL;char *q = NULL;int num = 0;int fspace = 1; //注意:fspace初始化必须是1;p = (char*)malloc(1);gets(p);q = p;while(*q != '\0'){if(*q == ' '){fspace = 1;}else{if(fspace==1){num++;fspace = 0; //注意:一定要将fspace清0;}}q++;}printf("num = %d",num);free(p);p = q = NULL;return 0;
}
3.注意事项:
(1)malloc需要和free配合使用,避免内存泄露;
(2)指针在使用完毕后,需要指向NULL,避免成为野指针;
(3)注意p的值,以及p+1的值:
p的值:malloc调用后,系统在堆中分配的一个字节内存的地址address。
p +1:即上述address+1;
但是:系统分配时,可以确定address对应的内存是空闲态(未被使用),因此分配给p;但是并不能确定address+1的内存也是空闲态。当值给p分配一个字节内存但是其指向一个字符串时,字符串会依次保存在address与其之后的部分内存中。因此,本人认为:p = (char*)malloc(1)操作是有风险的。
(4)C语言中:在不确定输入字符串的长度时,应该将缓存区设置大一些,设置1024,即1k byte(虽然还是可能会出现越界)。可以采用2种方式保存字符串:数组和字符串指针。
具体方式:char array[1024];或char p = (char)malloc(1024)等于char p = (char)malloc(1024*sizeof(char));;
统计一个字符串中的单词数相关推荐
- JS统计一个字符串中数字字符的个数。
** JS统计一个字符串中数字字符的个数. ** 思路整理: 统计一个字符串中的数字字符个数,首先应该先遍历字符串中每一个单字符,然后对每个字符进行判断是否为数字,最后设置一个变量统计数目 具体实现: ...
- 统计一个字符串中单词的个数
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p113 习题4 7.统计一个字符串中单词的个数.字符串中两个空格之间的非空格字符串可看做单词. #in ...
- 实现统计一个字符串中的每个单词出现的次数--基于Go语言
实现统计一个字符串中的每个单词出现的次数–基于Go语言 package mainimport ("fmt""strings" )func main() {//统 ...
- java基础—统计一个字符串中各个字符出现的次数
统计一个字符串中各个字符出现的次数 import java.util.Iterator; import java.util.Set; import java.util.TreeMap;public c ...
- Python统计一个字符串中所有字符在另一个字符串出现的总次数
代码功能:统计一个字符串中所有字符在另一个字符串中出现的总次数. 技术要点:函数式编程. 可能的应用:垃圾邮件分类.在大部分垃圾邮件中,为了防止被分类为垃圾邮件,会在一些关键字中间插入类似于[.].* ...
- C语言编程>第二十六周 ⑥ 请补充fun函数,该函数的功能是:按 “0”到 “9”统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。
例题:请补充fun函数,该函数的功能是:按 "0"到 "9"统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中.注意:不能使用字符串库函数. ...
- 刷爆力扣之字符串中的单词数
刷爆力扣之字符串中的单词数 HELLO,各位看官大大好,我是阿呆
- 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数
统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数.(不考虑其他字符) 1.需求: 统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数.(不考虑其他字符) 举例: " ...
- 统计一个字符串中每个字符出现的次数
统计字符串中每个字符出现的次数 分析: 代码展示: 分析: 1.定义一个需要被统计字符的字符串.2.将字符串转换为字符数组.3.定义一个双列集合,存储字符串中的字符以及字符在此字符串中出现的次数.4. ...
最新文章
- mysql数据库 中文乱码_在CMD中操作mysql数据库出现中文乱码解决方案
- Asp.Net Web API 2第七课——Web API异常处理
- ActiveReports报表控件教程之单元格合并
- 第七季4:网络telnet调试、海思proc文件系统调试接口
- 上岸 | 震惊!211高校硕士毕业后,我在非洲当酋长!
- 通过url路径下载服务器文件
- 三星s20计算机怎么添加到桌面,三星s20+怎么分屏?三星s20系列多窗口分屏设置操作步骤...
- [HDU 2096] 小明A+B
- cachecloud 安装
- 在硅谷初创公司怎么找投资人
- 荣耀手机两个android文件夹,华为手机文件管理中,这几个文件夹可以任意删除,其他的千万不要乱删!...
- OEE Worksheet
- 计算机怎么开启远程桌面,电脑如何设置远程连接,教您如何远程
- dice系数 交叉熵_ACL2020 | 香侬科技提出用Dice Loss缓解数据集数据不平衡问题
- 串行通信 - Modbus协议
- Python中安装GDAL
- 微信小程序解包wxappUnpacker-master 样式解不出来 SyntaxError: Unexpected end of input 的解决方式
- scanpy 单细胞分析包图文详解 01 | 深入理解 AnnData 数据结构
- [ Python ] 数据挖掘:股票价格
- 铁路行李随车托运办理