首页 > 编程语言 >1-14 编写一个程序,打印输入中各个字符出现频度的直方图

1-14 编写一个程序,打印输入中各个字符出现频度的直方图

时间:2023-07-11 23:45:47浏览次数:34  
标签:14 int 52 直方图 && 频度 define

Archlinux

GCC 13.1.1  20230429

2023-07-11 23:25:36 星期二

 


做了调整,只输出大小写字母共计56个字符的横向直方图,如有其他需要,自行添加。


点击查看代码
#include<stdio.h>


#define TRUE 1
#define FALSE 0


int main()
{
    int c_in;
    int c_num[52];
    int c_tmp[52];

    c_in = 0;
    for( int c=0; c<52; c++ ){
        c_num[c] = 0;
        c_tmp[c] = 0;
    }


    while( (c_in=getchar()) != EOF ){       //记录大小写字母频率
        if( c_in >= 'A' && c_in <= 'Z' ){
            c_num[c_in - 'A']++;
        }
        if( c_in >= 'a' && c_in <= 'z' ){
            c_num[c_in - 'a' + 26]++;
        }
    }

/*
    for( int n=0; n<52; n++ ){          //测试数据记录是否准确
        printf("%d", c_num[n]);
    }
    puts("");
*/
    for( int j=0; j<52; j++ ){
        if( (j < 26) && (c_num[j] != 0)){
            printf("%c: ", 65+j);
        }
        if( (j>26 && j<52) && (c_num[j] != 0) ){
            printf("%c: ", 97-26+j);
        }

        while( c_num[j] != 0 )
        {
            printf("#");
            c_num[j]--;
            if( c_num[j] == 0 ){
                puts("");
            }
        }
    }


    return 0;
}

 


运行截图:

image

image

输出正确。

 


小白刚学习C语言,代码质量不高,欢迎评论。

标签:14,int,52,直方图,&&,频度,define
From: https://www.cnblogs.com/yuwu/p/17546291.html

相关文章

  • vm安装-v14版本
    1、右键管理员身份运行 2、选择下一步 3、选择接受和下一步  4、选择更改默认安装路径 5、用户设置下一步 6、生成桌面快捷方式 7、开始安装  8、完成安装  ......
  • 算法学习day14二叉树part01-94、144、145
    packageSecondBrush.Tree;importjava.util.ArrayList;importjava.util.List;/***94.二叉树的中序遍历*给定一个二叉树的根节点root,返回它的中序遍历。**/publicclassBinaryTreeInorderTraversal_94{publicList<Integer>inorderTraversal(Tre......
  • [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
    [Errno14]PYCURLERROR22-"TherequestedURLreturnederror:404NotFound"  vi/etc/yum.repos.d/epel.repoenabled=0vi/etc/yum/pluginconf.d/fastestmirror.confenable=0wget-O/etc/yum.repos.d/CentOS-Base.repohttp://allen-hz-bucket.oss-......
  • 1141-查询近30天活跃用户数
    查询近30天活跃用户数原文地址:1141.查询近30天活跃用户数-力扣(LeetCode)题目如下所示个人题解这题主要考察MySQL中DATE数据类型的操作和GROUPBY用法。个人思考过程如下所示--1.建表CREATETABLE1141_Activity( user_idINT, session_idINT, activit......
  • 【雕爷学编程】Arduino动手做(141)---AS608光学指纹识别模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 1-13 编写一个程序,打印输入中单词长度的直方图
    ArchlinuxGCC13.1.1 202304292023-07-1021:56:28星期一 点击查看代码#include<stdio.h>#defineMAX7#defineMIN0intmain(){intnw[10];intnum=0;intnc=0;intc=0;inti,j=0;for(i=0;i<10;i++){......
  • Day03-14 打印三角形
    打印三角形    //打印三角形5行    for(inti=1;i<=5;i++){      for(intj=5;j>=i;j--){        System.out.print("");     }      for(intj=1;j<=i;j++){        Syst......
  • python3使用pip安装wordcloud报错error: Microsoft Visual C++ 14.0 or greater is re
    背景:使用的是Anaconda集成环境,python版本是:3.10,安装wordcloud包,使用的命令是:pipinstallwordcloud,出现报错:error:MicrosoftVisualC++14.0orgreaterisrequired.Getitwith"MicrosoftC++BuildTools":https://visualstudio.microsoft.com/visual-cpp-build-tools/......
  • AT-abc214-g题解
    题目描述给定两个排列\(p,q\),要求统计满足\(\foralli,r_i\not=p_i,r_i\not=q_i\)的排列\(r\)的数量。对\(1000000007\)取模数据范围\(n\le3000\)。solution本题要求统计数量,反正我想了半天没想到怎么正向统计(bushi),因此我们考虑容斥。设\(h_i\)为只看其中......
  • CF1421E题解
    题目链接本题作为一道本人思考了50分钟没想出来的大思维题,我觉得可以用来扩宽一下大家的视野。本题中,我们每次都会选取两个相邻的数\(a_i\)和\(a_{i+1}\),同时将这两位变为一位,这一位上填的数为\(-(a_i+a_{i+1})\)。很容易想到的一个\(O(n^3)\)的dp做法是区间dp,设\(f[......