poj 2136 Vertical Histogram (模拟)

点击打开链接

简单模拟。。

#include"stdio.h"
int main()
{
	char str[1000][100],s[4][100];
	int i,j,sum;
	int ss[100];
	while(gets(s[0])&&gets(s[1])&&gets(s[2])&&gets(s[3]))
	{
		sum=0;
		for(i=0;i<26;i++)
			ss[i]=0;
		for(i=0;i<4;i++)
		{
			for(j=0;s[i][j];j++)
			{
				if(s[i][j]>='A'&&s[i][j]<='Z')
				{
					ss[s[i][j]-'A']++;
					if(ss[s[i][j]-'A']>sum) 
						sum=ss[s[i][j]-'A'];
				}
			}
		}
		for(i=0;i<=sum;i++)
		{
			for(j=0;j<=50;j++)
			{
				if(j%2==0&&i==0)
					str[i][j]='A'+j/2;
				else if(j%2==1&&i==0)
					str[i][j]=' ';
				else
				{
					if(j%2==0)
					{
						if(ss[j/2]>=i)
							str[i][j]='*';
						else
							str[i][j]=' ';
					}
					else
						str[i][j]=' ';
				}
			}
		}
		for(i=sum;i>=0;i--)
		{
			for(j=0;j<=50;j++)
				printf("%c",str[i][j]);
			printf("\n");
		}
	}
	return 0;
}


posted on 2012-07-30 19:12  Slege  阅读(114)  评论(0编辑  收藏  举报

导航