分析:很久以前,在《K&R》上面碰到过这个题,只不过比这个复杂一点。。。。
也是水题,没什么说的,注意一下细节,比如输出的格式等,还有就是,一开始用的for循环,每输入一行结束后就直接打印,好郁闷^~_~^
Description
Input
Output
Sample Input
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO!
Sample Output
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
int main()
{
int len,i,j,maxhigh=0;
string s;
int c[26];
memset(c,0,sizeof(c));
while (cin>>s)
{
len=s.length();
for(i=0;i<len;i++)
if(s[i]>=65 && s[i]<=90)
++c[s[i]-'A'];
}
for(i=0;i<26;i++)
if(maxhigh<c[i])
maxhigh=c[i];
for(i=maxhigh;i>0;i--)
{
for(j=0;j<26;j++)
if(c[j]>=i)
printf("* ");
else
printf(" ");
printf("\n");
}
for(i=0;i<26;i++)
{
if(i>0)
printf(" ");
printf("%c",i+'A');
}
printf("\n");
return 0;
}
Description
Input
Output
Sample Input
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG. THIS IS AN EXAMPLE TO TEST FOR YOUR HISTOGRAM PROGRAM. HELLO!
Sample Output
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文地址:http://blog.csdn.net/u011694809/article/details/46537183