1-14编写一个程序,打印输入中各个字符出现频度的直方图
2022/2/6 20:12:34
本文主要是介绍1-14编写一个程序,打印输入中各个字符出现频度的直方图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/*编写一个程序,打印输入中各个字符出现频度的直方图*/
#include<stdio.h>
int main() {
int i, j, c;
i = j = c = 0;
unsigned int PD[128];
//给统计频度数组赋初始值
for (i = 0; i < 128; i++)
{
PD[i] = 0;
}
while ((c = getchar()) != EOF){
//进行字符匹配
if (c != ' ' && c != '\t' && c != '\n') {
for (i = 0; i < 128; i++) {
if (i == c) {
PD[i]++;
}
}
}
}
/*// 显示水平直方图。
for (i = 0; i < 128; i++)
{
if (PD[i] > 0 && i != '\t' && i != '\n' && i != ' ')
{
printf("%c:", i);
for (j = 0; j < PD[i]; j++) {
printf("*");
}
printf("\n");
}
}
*/
//垂直打印直方图
//取最大值
int max = 0;
for (i = 0; i < 128; i++) {
if (PD[i] > max) {
max = PD[i];
}
}
//外循环打印Y轴
//内循环打印X轴
for (i = max; i > 0; i--) {
for (j = 0; j < 128; j++) {
if (PD[j] > 0) {
if (PD[j] >= i) {
printf("** ");
}
else
printf(" ");
}
}
printf("\n");
}
//打印字符
for (i = 0; i < 128; i++) {
if (PD[i] > 0) {
printf("%-4c", i);
}
}
printf("\n");
//打印字符频次
for (i = 0; i < 128; i++) {
if (PD[i] > 0 ) {
printf("%-4d", PD[i]);
}
}
printf("\n");
}
这篇关于1-14编写一个程序,打印输入中各个字符出现频度的直方图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南