- 从键盘上输入字符,分别统计一下其中字母,数字,其他字符的个数;将统计的字母,数字,其他字符的个数以柱状图的形式打印。例如
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
#include<math.h>
void strStat(){
int alpha = 0, num = 0, other = 0;
int c; //×¢Òâ
char *p;
p = (char*)&c;
while((c = getchar()) != EOF){
if(*p == '\n'){
print(alpha, num, other);
alpha = num = other = 0;
}
else if(*p >= '0' && *p <= '9') num++;
else if(*p >= 'a' && *p <= 'z' || *p >= 'A' && *p <= 'Z') alpha++;
else other++;
}
}
void print(int alpha, int num, int other){
int max = alpha>num ? (alpha>other ? alpha : other) : (num>other ? num : other);
max = max + 2;
while(max > 0){
if(max == 1){
printf(" alp num oth \n");
}
else{
if(max == alpha+2)
printf(" %d ", alpha);
else if(max < alpha+2)
printf("***** ");
else
printf(" ");
if(max == num+2)
printf(" %d ", num);
else if(max < num+2)
printf("***** ");
else
printf(" ");
if(max == other+2)
printf(" %d \n", other);
else if(max < other+2)
printf("*****\n");
else
printf("\n");
}
max--;
}
}
int main(){
strStat();
return 0;
}