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;
}
浙公网安备 33010602011771号