C语言编程-9_4 字符统计
输入一个字符串(其长度不超过81),分别统计其中26个英文字母出现的次数(不区分大、小写字母),并按字母出现次数从高到低排序,若次数相同,按字母顺序排列。字母输出格式举例,例如:A-3,表示字母A出现3次,C-0表示字母C没有出现。
输入:
第一行为输入,占一行,输入的字符串可能含有空格
输出:
第二行为输出,占一行。按照字母输出格式从高到低输出,各字母输出之间用一个空格字符分隔。
样例:
123abcAABXxwvUu+
A-3 B-2 U-2 X-2 C-1 V-1 W-1 D-0 E-0 F-0 G-0 H-0 I-0 J-0 K-0 L-0 M-0 N-0 O-0 P-0 Q-0 R-0 S-0 T-0 Y-0 Z-0
//插入排序法
#include<stdio.h>
#include<string.h>
int main()
{
char str[81] = "123abcAABXxwvUu+";
gets(str);
int letter_stat[26] = {0};
char letter[26] = { ' ' };
for (int i = 0; i < 26; i++)
{
letter[i] = i + 'A';
}
int i = 0;
while (str[i])
{
int k = 0;
if (str[i] >= 'A'&&str[i] <= 'Z')
{
k = str[i] - 'A';
letter_stat[k]++;
}
else if (str[i] >= 'a'&&str[i] <= 'z')
{
k = str[i] - 'a';
letter_stat[k]++;
}
i++;
}
for (int i = 0; i < 26; i++)
{
int k = letter_stat[i];
int temp = letter[i];
int j = i - 1;
while (j >= 0 && letter_stat[j] < k)
{
letter_stat[j + 1] = letter_stat[j];
letter[j + 1] = letter[j];
j--;
}
letter_stat[j + 1] = k;
letter[j + 1] = temp;
}
for (int i = 0; i < 25; i++)
{
printf("%c-%d ", letter[i],letter_stat[i]);
}
printf("%c-%d", letter[25], letter_stat[25]);
return 0;
}
//冒泡排序法
#include<stdio.h>
#include<string.h>
int main()
{
char str[81] = "123abcAABXxwvUu+";
gets(str);
int letter_stat[26] = {0};
char letter[26] = { ' ' };
for (int i = 0; i < 26; i++)
{
letter[i] = i + 'A';
}
int i = 0;
while (str[i])
{
int k = 0;
if (str[i] >= 'A'&&str[i] <= 'Z')
{
k = str[i] - 'A';
letter_stat[k]++;
}
else if (str[i] >= 'a'&&str[i] <= 'z')
{
k = str[i] - 'a';
letter_stat[k]++;
}
i++;
}
for (int i = 0; i < 25; i++)
for (int j = 0; j < 25 - i; j++)
{
if (letter_stat[j] < letter_stat[j + 1])
{
int temp = letter_stat[j + 1];
letter_stat[j + 1] = letter_stat[j];
letter_stat[j] = temp;
temp = letter[j + 1];
letter[j + 1] = letter[j];
letter[j] = temp;
}
}
for (int i = 0; i < 25; i++)
{
printf("%c-%d ", letter[i],letter_stat[i]);
}
printf("%c-%d", letter[25], letter_stat[25]);
return 0;
}
---------------------
C语言编程-9_4 字符统计的更多相关文章
- 3218: 字符串字符统计—C语言
3218: 字符串字符统计—C语言 时间限制: 1 Sec 内存限制: 128 MB提交: 270 解决: 129[提交][状态][讨论版][命题人:smallgyy] 题目描述 编写一函数,由实 ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- linux 操作系统下c语言编程入门
2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 ...
- R语言编程艺术(4)R对数据、文件、字符串以及图形的处理
本文对应<R语言编程艺术> 第8章:数学运算与模拟: 第10章:输入与输出: 第11章:字符串操作: 第12章:绘图 =================================== ...
- 有关c语言编程
有关C语言编程 统计代码"行数" 对于统计代码"行数",行数不包括空白行和注释行.程序改进如下: while(fgets (mystring , 100 , f ...
- Linux C语言编程基本原理与实践
Linux C语言编程基本原理与实践(2018-06-16 19:12:15) Linux C语言编程基本原理与实践 高效的学习带着目的性: 是什么 -> 干什么 -> 怎么用 重识C语言 ...
- C语言编程实现Linux命令——who
C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
- Linux下C语言编程实现spwd函数
Linux下C语言编程实现spwd函数 介绍 spwd函数 功能:显示当前目录路径 实现:通过编译执行该代码,可在终端中输出当前路径 代码实现 代码链接 代码托管链接:spwd.c 所需结构体.函数. ...
随机推荐
- nyoj_676_小明的求助_201312042142-2
小明的求助 时间限制:2000 ms | 内存限制:65535 KB 难度:2 描述 小明对数学很有兴趣,今天老师出了道作业题,让他求整数N的后M位,他瞬间感觉老师在作弄他, ...
- N天学习一个linux命令之ssh-keygen
用途 生成ssh加密算法需要使用到的秘钥以及管理和转换 用法 ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [- ...
- footer在最低显示
footer在最低显示 http://stackoverflow.com/questions/585945/how-to-align-content-of-a-div-to-the-bottom
- 设置ckeditor的高度
设置ckeditor的高度 CKEDITOR.replace('text', { filebrowserImageUploadUrl : 'upload_img.do', language : 'zh ...
- 怎样给你的Android 安装文件(APK)瘦身
本文源地址:怎样给你的Android 安装文件(APK)瘦身 Android的apk文件越来越大了这已经是一个不争的事实. 在Android 还是最初版本号的时候,一个app的apk文件大小也还仅仅有 ...
- WebGIS开发技术杂谈
WebGIS项目的开发主要是B/S架构.最流行的是clientjavascript,server端java. 另外还有flexclient. client主要完毕用户交互.向server端发送请求并传 ...
- Cocoa pods的安装和使用
现在网上关于cocoapods的安装使用资料有很多,有些方法能用,有些是用不了的,别问为什么,因为我就是从坑里走出来的.在此自己整理了一些方法: 一般需要先升级Ruby环境: 第一步:安装rvm $ ...
- Spring发送邮件_javax.mail.AuthenticationFailedException异常已解决
在Spring项目中须要增加监控功能.监控过程中发现异常时.须要邮件报警.最初选择用javamail发送,代码量比較大(相对于spring发送).终于选择Spring邮件发送~ 以下贴一下实现的代码以 ...
- hdu1116 Play on Words--并查集
原题链接: pid=1116">http://acm.hdu.edu.cn/showproblem.php? pid=1116 一:原题内容 Problem Description S ...
- oc60--Category 分类 练习
// main.m // Category练习 #import <Foundation/Foundation.h> #import "NSString+NJ.h" // ...