您的位置:首页 > 其它

打表格,字符串处理,POJ(2136)

2016-03-27 19:38 295 查看
题目链接:http://poj.org/problem?id=2136

水题WA了半天,结果是数组开小了。

#include <stdio.h>
#include <string.h>

char s[1005];
int num[26]= {0};

int main()
{
for(int i=0; i<4; i++)
{
gets(s);
int len=strlen(s);
for(int j=0; j<len; j++)
{
if(s[j]>='A'&&s[j]<='Z')
num[s[j]-'A']++;
}
}

char maps[75*4][30*2]={0};
memset(maps,' ',sizeof(maps));
int _max=0;

for(int i=0; i<26; i++)
if(_max<num[i])
_max=num[i];

for(int i=0; i<_max; i++)
{
for(int j=0; j<26; j++)
{
if(num[j]>0)
{
maps[_max-i-1][j*2]='*';
num[j]--;
}
}
}

for(int i=0;i<_max;i++)
{
for(int j=26*2;j>=0;j--)
{
if(maps[i][j]!=' ')
{
maps[i][j+1]='\0';
break;
}
}
}

for(int i=0;i<_max;i++)
{
printf("%s\n",maps[i]);
}

for(int i=0;i<26;i++)
printf("%c ",'A'+i);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: