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;
}
运行截图:
输出正确,但是我这个过于简陋。
小白刚学习C语言,代码质量不高,欢迎评论。
标签:10,13,MIN,int,单词,直方图,printf,define From: https://www.cnblogs.com/yuwu/p/17542477.html