水平直方图
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,a;
int ndigit[20] = {0};
int i = 0;
while((c = getchar()) !=EOF){
if(c != ' ' && c != '\n' ){
++i;
}
else{
ndigit[i] = ndigit[i] + 1;
i = 0;
}
}
printf("\n直方图\n");
for(i = 1; i < 20; ++i ){
printf(" %2d",i);
for(a = 1; a <=ndigit[i]; ++a ){
printf("*");
}
printf("\n");
}
}
while里面if ,如果不是空格,就长度加一,如果是空格,就把存下来的长度对应的数组里的数加一然后长度归零
垂直直方图
#include <stdio.h>
#include <stdlib.h>
int main()
{
int c;
int ndigit[20] = {0};
int i = 0;
int j = 0;
int max &