打印输入单词的直方图;水平版
#include <stdio.h>
#define MAXHIST 15 /* 最大长度的直方图 */
#define MAXWORD 11 /* 单词总数 */
#define IN 1 /* 在一个单词内部 */
#define OUT 0 /* 不在一个单词内部 */
/* 打印输入单词的直方图;水平版 */
main()
{
int c, i, nc, state;
int len; /* 每栏长度 */
int maxvalue; /* wl[]最大值 */
int ovflow; /* 长度溢出的单词 */
int wl[MAXWORD]; /* 记录单词长度 */
state = OUT;
nc = 0; /* 单词的字符数 */
ovflow = 0; /* 单词长度大于或等于最大值MAXWORD */
for(i = 0; i , MAXWORD; ++i)
wl[i] = 0;
while((c = getchar()) != EOF){
if(c == ' ' || c == '\n' || c == '\t'){
state = OUT;
if(nc > 0)
if(nc < MAXWORD)
++wl[nc];
else
++ovflow;
}
else if(state == OUT){
state = IN;
nc = 1; /* 新单词开头 */
}
else
++nc; /* 单词内部 */
}
maxvalue = 0;
for(i = 1; i < MAXWORD; ++i)
if(wl[i] > maxvalue)
maxvalue = wl[i];
for(i = 1; i < MAXWORD; ++i){
printf("%5d - %5d", i, wl[i]);
if(wl[i] > 0){
if((len = wl[i] * MAXHIST / maxvalue) <= 0)
len = 0;
}else
len = 0;
while(len > 0){
putchar('*');
--len;
}
putchar('\n');
}
if(ovflow > 0)
printf("There are %d words >= %d\n", ovflow, MAXWORD);
}
打印输入单词的直方图;垂直版
#include <stdio.h>
#define MAXHIST 15 /* 最大长度的直方图 */
#define MAXWORD 11 /* 单词总数 */
#define IN 1 /* 在一个单词内部 */
#define OUT 0 /* 不在一个单词内部 */
/* 打印输入单词的直方图;垂直版 */
main()
{
int c, i, j, nc, state;
int len; /* 每栏长度 */
int maxvalue; /* wl[]最大值 */
int ovflow; /* 长度溢出的单词 */
int wl[MAXWORD]; /* 记录单词长度 */
state = OUT;
nc = 0; /* 单词的字符数 */
ovflow = 0; /* 单词长度大于或等于最大值MAXWORD */
for(i = 0; i , MAXWORD; ++i)
wl[i] = 0;
while((c = getchar()) != EOF){
if(c == ' ' || c == '\n' || c == '\t'){
state = OUT;
if(nc > 0)
if(nc < MAXWORD)
++wl[nc];
else
++ovflow;
}
else if(state == OUT){
state = IN;
nc = 1; /* 新单词开头 */
}
else
++nc; /* 单词内部 */
}
maxvalue = 0;
for(i = 1; i < MAXWORD; ++i)
if(wl[i] > maxvalue)
maxvalue = wl[i];
for(i = MAXWORD; i > 0; --i){
for(j = 1; j < MAXWORD; ++j)
if(wl[j] * MAXHIST / maxvalue >= i)
printf(" * ");
else
printf(" ");
putchar('\n');
}
for(i = 1; i < MAXWORD; ++i)
printf("%4d", i);
putchar('\n');
for(i = 1; i < MAXWORD; ++i)
printf("%4d", wl[i]);
putchar('\n');
if(ovflow > 0)
printf("There are %d words >= %d\n", ovflow, MAXWORD);
}
分享到:
相关推荐
c语言笔记c语言笔记c语言笔记c语言笔记
计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级C语言笔记.zip 计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级C语言笔记.zip 计算机二级C语言笔记.zip计算机二级C语言笔记.zip计算机二级...
结合c/c++开发经历,以及《THE C PROGRAMMING LANGUAGE》和 《C Traps and Pitfails》的阅读笔记。
C语言学习笔记C语言学习笔记C语言学习笔记C语言学习笔记
C语言笔记.pdf
从C的贴吧上复制粘贴过来的。从第一章的概述到指针那块。
单片机C语言笔记单片机C语言笔记
达内 C语言笔记达内 C语言笔记
C语言笔记1C语言笔记1
郝斌老师的C语言课程笔记,从指针开始,动态,链表等等
自己精心整理的C语言学习笔记,不同内容用不同字体来突出: 红色文本内容(要点) 绿色文本内容(注释) 蓝色文本内容(例题) 紫色文本内容(特殊) 红色高亮文本内容(重点)
很好很全的C语言笔记,没有做笔记的朋友拿去看吧,对你有帮助的。
C语言笔记,记录牛人学习C语言知识点,挺全的。
本资料为个人在学习C语言时所作的笔记,适合于C语言初学者使用。
C语言学习笔记 C语言学习笔记 C语言学习笔记 C语言学习笔记
c语言学习笔记c语言学习笔记c语言学习笔记c语言学习笔记c语言学习笔记c语言学习笔记c语言学习笔记
C语言笔记
C语言基础部分学习笔记全部
适合C语言初学者的学习资料,内有基础概念和例题
超级全的C语言付费网课的个人资料整理,让你系统化的了解理解C语言。