题目描述

写一个算法统计在输入字符串中各个不同字符出现的频度并将结果输出(字符串中的合法字符为A-Z之间的26个字母和0-9之间的10个数字)。

输入

多组数据,每组数据有一行,为待统计字符频度的字符串。当字符串为“0”时,输入结束。

输出

对于每组数据输出n行,每一行为一个字符出现的频度(只输出存在的字符,格式为:字符:频度),字符排列顺序按照ASCII码从小到大的顺序

样例输入 Copy

LITTLE5ILOVEYOU
AREYOUOKNUMB90077
0

样例输出 Copy

5:1
E:2
I:2
L:3
O:2
T:2
U:1
V:1
Y:1
0:2
7:2
9:1
A:1
B:1
E:1
K:1
M:1
N:1
O:2
R:1
U:2
Y:1

思路分析:

首先利用两个桶,分别记录数字和字母出现的次数(桶的下标表示字母或数字,a[i]表示这个字母或者数字出现的次数),因为题目要求按ascll从小到大输出,所以先输出数字,再输出字母。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int a[26];//用来存字母
int b[10]; //用来存数字
int main()
{while(1){for(int i=0;i<26;i++){a[i]=0;}for(int i=0;i<=9;i++){b[i]=0;}string s;cin>>s;if(s[0]=='0')//需要带上引号才表示ascll码值{break;}for(int i=0; i<s.length(); i++){if(s[i]>='A'&&s[i]<='Z')//字母 存入{a[s[i]-65]++;//应该是s[i]-65+1表示这个字母在单词表中的位置,但是桶的数组从零开始,所以再减去一}else{b[s[i]-48]++;}}for(int i=0; i<=9; i++){if(b[i]!=0){cout<<i<<":"<<b[i]<<endl;//b[i]表示它出现的次数}}for(int i=0; i<26; i++){if(a[i]!=0){cout<<char(i+65)<<":"<<a[i]<<endl;}}}return 0;
}
/*
啊,被题目吓到了,按ascll码从小到大,先输出数字再输出字母不就行了,数字跟数字都是挨着的
*/

1253: 统计字符出现的频度相关推荐

  1. BJFU_数据结构习题_257统计字符出现的频度

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 257统计字符出现的频度 描述 写一个算法统计在输入字符串中各个不同字符出现的频度并将结果输出(字符串中的合法字符为A-Z之 ...

  2. 【数据结构、字符串、C语言】统计字符串中不同字符出现的频度

    [数据结构.字符串.C语言]统计字符串中不同字符出现的频度 问题描述 完整代码 问题描述 写一个算法统计在输入字符串中各个不同字符出现的频度并打印(字符串中的合法字符为A-Z这26个字母和0-9这10 ...

  3. 串的基本操作及统计字符频度-数据结构类C语言

    目录 一.功能函数定义(func.cpp) 二.主函数调用(main.cpp) 三.头文件声明(before.h) 一.功能函数定义(func.cpp) #include <iostream&g ...

  4. 作业 3 应用分支与循环结构解决问题 统计字符个数

    /*统计字符,包括空格或回车,数字字符和其他字符*/#include<stdio.h> int main(void) {int digit,space,letter,other; /*定义 ...

  5. python接收输入的一行字符只统计数字的个数,Python(统计字符),python实例,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数...

    Python(统计字符),python实例,输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用 ...

  6. 函数字节不对齐函数崩溃_Excel中统计字符数,不需要一个一个的数,len函数能轻松搞定...

    简介:要统计Excel单元格中的字符数,不需要一个一个的数,利用len函数就能轻松搞定. 问:什么是len函数? 答:自动统计字符数的函数 问:怎样记住len函数 答:len是length(长度)的简 ...

  7. C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串。

    题目:C语言 输入一个字符串,统计字符个数,并按照倒序输出该字符串. #include<stdio.h>void main() {char str[10];scanf("%s&q ...

  8. 百练OJ:2742:统计字符数

    题目链接: 百练OJ:2742:统计字符数 描述:判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多 输入:第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的 ...

  9. 【Java8】堆栈/队列/数组/链表/红黑树,List/set子接口,hashcode/hashset,Map/内部接口,/统计字符个数,debug,斗地主,Collections,TreeSet

    文章目录 1.堆栈/队列/数组/链表:数据结构即计算机组织管理数据的方式,堆栈指的是内存图中的栈,不是堆 2.红黑树:二查,二查平,二查平1倍 3.List子接口:集合,IndexOutOfBound ...

最新文章

  1. Tomcat版本不同,功能区别也是很大!
  2. switch和if的比较
  3. spring默认缓存管理器_使用Spring的缓存管理器缓存Web内容
  4. go语言os.exit(1)_在Golang中各种永远阻塞的姿势
  5. 《图像处理知识》宝藏总纲
  6. android系统(8)---android事件分发机制
  7. Linux ISATAP配置
  8. 网络分裂(network partition)
  9. [转]gcc下程序调用静态库编译命令:主文件必须在静态库前面!
  10. PHPCMS整合UCENTER后登陆问题
  11. php居民小区物业管理系统
  12. win10的windows聚焦不显示,灰屏解决方案
  13. 『解疑』vue修改html图标,tilte左边的图标(以图片格式作为图标)
  14. 该内存不能为written或read的解决方案(比较全)
  15. python 工资减税_Python告诉你个税抵扣能省多少钱?
  16. Android 实现自动点击屏幕的方法
  17. 比赛即实战!中国软件杯发布全新产业创新赛项,校企可联合参赛
  18. C++ Primer Plus 第六版编程练习——第6章
  19. icomoon使用方法
  20. 基于python实现去除视频的水印

热门文章

  1. dBm与W换算)手机信号放大器功率单位
  2. X86/X64汇编语言基础
  3. 计算机控制 采样电路,计算机模拟量的采样与处理
  4. 安装配置CentOS
  5. [C语言]插入字符A:用字符数组作函数参数,编程实现在字符串每个字符间插入一个空格的功能。
  6. 使用echarts在地图中使用dispatchAction
  7. 用MATLAB的GUI绘图的一个简单例子
  8. mysql数据库密码设置
  9. 如何启动一个vue项目
  10. 市场排名第二的公有云,能否追上前面那个?