每天一个小程序(13)——统计字符个数
2014-03-28 16:26
597 查看
统计字符个数
任意输入一个字符串,统计字符串中每种字符的个数,并输出。
最开始我的想法是,建立一个结构体,这个结构体包含两个部分,一个用来保存字符c,另一个保存字符出现的次数count。然后在遍历字符串的过程中,将字符逐个插入到这个结构体数组中,并记录出现的次数,第一次碰到的字符就插入到数组中,并且初始count为1,第二次出现的字符就直接count加1.
后来我的好友雷锋的另一个算法我觉得不错,并且能够更快的输出,即先对这个字符串进行排序,排序的依据为ASCII值,然后只需遍历一遍,就可以将这个字符以及出现的次数计算出。
下面是代码
PS:这个程序是区分大小写的
任意输入一个字符串,统计字符串中每种字符的个数,并输出。
最开始我的想法是,建立一个结构体,这个结构体包含两个部分,一个用来保存字符c,另一个保存字符出现的次数count。然后在遍历字符串的过程中,将字符逐个插入到这个结构体数组中,并记录出现的次数,第一次碰到的字符就插入到数组中,并且初始count为1,第二次出现的字符就直接count加1.
后来我的好友雷锋的另一个算法我觉得不错,并且能够更快的输出,即先对这个字符串进行排序,排序的依据为ASCII值,然后只需遍历一遍,就可以将这个字符以及出现的次数计算出。
下面是代码
#include <stdio.h> #include <algorithm> #define NUM 100 struct Data { char ch; int count; }data[NUM]; void print(char str,int count)//打印至屏幕,主要是为了显示“空格” { if(str == 32) printf("%s : %d\n","空格",count); else printf("%c : %d\n",str,count); } void count(char str[],int n) { char *temp = str; std::sort(temp,temp+n);//进行排序 char a1,a2; int count = 0; int num = 0; a1 = temp[num++]; count++; while(num <= n) { a2 = temp[num++]; if(a1 == a2)//碰到相同的 count加1 { count++; } else//碰到不同的,输出字符和count,并记录新的字符 { print(a1,count); a1 = a2; count = 1; } } } void main() { char str[NUM]; printf("请输入字符串:\n"); gets(str); int len = strlen(str); count(str,len); }
PS:这个程序是区分大小写的
相关文章推荐
- 每天一个小程序——统计字符的个数
- [原创]c++,自己写的一个统计输入的单词个数,行数和字符总数的小程序
- 每天一个小程序—0007题(正则表达式统计)
- 每天一个小程序——第 0004 题:任一个英文的纯文本文件,统计其中的单词出现的个数
- 编写一个程序统计各个数字、空白符(包括空格符、制表符及换行符)以及其它字符出现的次数
- java练习题,每天一个java小程序-13
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- 每天一个python小程序 007有个目录,里面是你自己写过的程序,统计一下你写过多少行代码。包括空行和注释,但是要分别列出来。
- 【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。
- 【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。
- 用IO流编写一个程序,统计并输出某个文本文件中“a”字符的个数
- 实现一个控制台程序,给定一段英文字符串,统计其中各个英文单词(4字符以上含4字符)的出现频率。
- 关于一个选举的票数统计程序,每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,若一张选票选中人数大于5个人时被认为无效的选票。
- 每天一个小程序之python实现统计英文单词出现个数
- 第八章编程练习第一题:设计一个程序,统计从输入到文件结尾为止的字符数
- 今天用Map集合写了一个字符串字符统计的程序,看集合看的头痛,就看了一下GUI,于是就随便记点。
- 编写一个程序,输入一行字符,以回车结束,分别统计出其中的英文字母、空格、数字和其他字符的数
- 每天一个python小程序 004:任一个英文的纯文本文件,统计其中的单词出现的个数
- C语言:编写一个程序统计输入字符串中,各个数字、空白字符、以及其他所有字符出现的次数。
- 每天一个小程序—0004题(统计单词出现次数)