题目链接: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]='