首页 > 编程语言 >1-13 编写一个程序,打印输入中单词长度的直方图

1-13 编写一个程序,打印输入中单词长度的直方图

时间:2023-07-10 22:12:40浏览次数:42  
标签:10 13 MIN int 单词 直方图 printf define

Archlinux

GCC 13.1.1  20230429

2023-07-10 21:56:28 星期一

 


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


#define MAX 7
#define MIN 0


int main()
{
    int nw[10];
    int num = 0;
    int nc = 0;
    int c = 0;
    int i, j= 0;

    for( i=0; i<10; i++ ){
        nw[i] = 0;
    }
    
    while( (c = getchar()) != EOF )     //将每个单词的字符数存入数组
    {
        nc++;
        if( c == ' ' || c == '\n' ){
            nw[num] = nc - 1;
            if( nw[num] == nc - 1 ){ nc = 0; }
            num++;
        }
    }

    /*  //验证数组内单词字符数是否正确
    for( j=0; j<10; j++){
        printf("%d ", nw[j]);
    }
    */

    printf("\n            直方图\n      ^\n      |\n");     //直方图打印
    for( i=MAX; i>0; i-- ){     //列
        printf( "    %d |", i );
        for( j=0; j<10; j++ ){
            if( nw[j] >= i ){
                printf(" #");
            }
            else{
                printf("  ");
            }
        }
        puts("");
    }
    printf( "      +----------------------->\n     %d  ", MIN );    //行
    for( i=MIN+1; i<=10; i++ ){     
        printf("%d ", i );
    }

    puts("");


    return 0;
}

 


运行截图:

image

输出正确,但是我这个过于简陋。

 


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

标签:10,13,MIN,int,单词,直方图,printf,define
From: https://www.cnblogs.com/yuwu/p/17542477.html

相关文章

  • 1382. 将二叉搜索树变平衡
    给你一棵二叉搜索树,请你返回一棵平衡后的二叉搜索树,新生成的树应该与原来的树有着相同的节点值。如果有多种构造方法,请你返回任意一种。如果一棵二叉搜索树中,每个节点的两棵子树高度差不超过1,我们就称这棵二叉搜索树是平衡的。输入:root=[1,null,2,null,3,null,4,null,......
  • 2013年湖南省对口高考真题
    一、选择题1、下列选项中正确的C语言变量定义是__________。A.chara1='A',a2=A;                  B.unsignedlonga=1000;C.floata1=a2=10.0;                   D.doublea=0.618,a=3.14; 2、假设有:floata=5,b=a+5/2;则执行语句pri......
  • Day03-13 break、continue、goto
    breakbreak在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)    inti=0;    while(i<100){      i++;      System.out.println(i);  ......
  • t113-c-led驱动篇(调用设备树)
    既然已经学会了调用驱动,那么接下来简单点个灯查看led所在寄存器我板子的led所控制的是pd22,所在寄存器应该是0x02000098然而这和我在设备树上找到的地址有出入,很奇怪,那就不管这个了自己添加一个吧。自己在board.dts上加一个ledio:我们看见这里有个&pio,而pio又是在dtsi中的so......
  • NOIP2013-2023题解
    本文章主要是为了不想卷题的时候不是特别颓废而准备本文章是为了总结NOIP最近的题目(为了今年NOIP做准备),目前还没写完,尽量做的全面一些。2013积木大赛给定一个长度为\(n\)的序列\(h_i\),初始有一个全为\(0\)的序列,每次操作可以任意选择\(L,R\),使得\([L,R]\)这段区......
  • Selenium基础:SSL证书错误处理 13
    1、chrome解决办法在chromeoptions()中添加”--ignore-certificate-errors"为true的选项#-*-coding:utf-8-*-fromseleniumimportwebdriveroptions=webdriver.ChromeOptions()#添加忽视证书错误选项options.add_argument('--ignore-certificate-errors')driver=web......
  • vue--day13--watch与computed的区别
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>watch实现名字案例</title><scri......
  • 13. Q_ 如下代码中文本_Sausage_的颜色是_
    Q:如下代码中文本“Sausage”的颜色是?<ulclass="shopping-list"id="awesome"><li><span>Milk</span></li><liclass="favorite"id="must-buy"><spanclass="highlight">Saus......
  • 牛客练习赛113 D 小红的数组操作(hard version)
    题目要求求出最小的总代价使得平均数为整数,转换式子可得实际就是求出a,b使得(a*x-b*y+sum)%n==0且a*p+b*q要最小,平均值的为sum/n,因此对sum进行操作使其成为n的倍数即可(a*x-b*y+sum)%n==0=>((a*x+sum)%n-b*y%n)%n==0因为(a*x+sum)%n<n,b*y%n<n,因此要想二者差求余数为0一定为(......
  • t113-c-设备树-驱动调用篇(获取设备节点和属性)
    我们以pwm为例编写程序1.首先编写出入口函数//#include"linux/module.h"//#include"linux/fs.h"////#include"linux/stddef.h"//#include"linux/types.h"////#include"crypto/if_alg.h"#include"treecom.h"......