垂直柱状图

题目链接:点击打开链接

#include
#include
#include
#include
using namespace std;
int cnt[26];	//全局数组默认初始化值为0;	
int main()
{
	int l;
	char zifu[100];
	//freopen("test.in","r",stdin);
	for(int i=0;i<4;i++)
	{
		gets(zifu);	//cin以' '为分隔符 
		l=strlen(zifu);
		for(int j=0;j='A'&&zifu[j]<='Z')
				cnt[zifu[j]-'A']++;	 //利用与A的ASCII码差值确定数组下标 ; 
		}
	}
	//下面输出
	//先排序(升序),找最大值m;
	//横向输出,从第一行开始输出,i从左到右26列,如果cnt[i]m,m已经是最大值了),则输出'*'
	//然后下一行输出,最大值变为m-1... 
	//所以外层循环是m大小,内层循环是26 
	int m=cnt[0];
	for(int i=1;i<26;i++)
	{
		if(cnt[i]>m)
		{
			m=cnt[i];
		}
	} 
	for(int i=m;i>0;i--)
	{
 		for(int j=0;j<26;j++)
 		{
			if(cnt[j]

你可能感兴趣的:(算法)