C 语言 习题 1-14

2018-06-18 03:58:24来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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

 

 1 #include <stdio.h>
 2 
 3 /* count digits, white space, others */
 4 
 5 int main(int argc, char const *argv[])
 6 {
 7     int c, i, j, nwhite, nother;
 8     int ndigit[10];
 9 
10     nwhite = nother = 0;
11     for (i = 0; i < 10; ++i) {
12         ndigit[i] = 0;
13     }
14 
15     while ((c = getchar()) != EOF) {
16         if (c >= '0' && c <= '9') {
17             ++ndigit[c-'0'];
18         } else if (c == ' ' || c == '\n' || c == '\t') {
19             ++nwhite;
20         } else {
21             ++nother;
22         }
23     }
24 
25     for (i = 0; i < 10; ++i) {
26         printf("%d:", i);
27         for (j = 0; j < ndigit[i]; ++j) {
28             printf("*");
29         }
30         printf("\n");
31     }
32     printf("w:");
33     for (i = 0; i < nwhite; ++i) {
34         printf("*");
35     }
36     printf("\no:");
37     for (i = 0; i < nother; ++i) {
38         printf("*");
39     }
40     printf("\n");
41 
42     return 0;
43 }

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:《吕鑫:VC++6.0就业培训宝典之MFC视频教程》学习笔记 -- 第五章

下一篇:动态规划(DP)入门之-------最长非降子序列(O(n^2))