一开始out数组没有定义为char型导致有个测试点过不去
#include <stdio.h>
#include <ctype.h>
int main()
{
char c, index[6] = {'P', 'A', 'T', 'e', 's', 't'};
int num = 0, out[128] = {0};//注意out数组定义为char型
while((c = getchar()) != EOF)
if(c == 'P' || c == 'A' || c == 'T' || c == 'e' || c == 's' || c == 't')
{
out[c]++;
num++;
}
for(int i = 0; num; i = i % 6)
{
if(out[index[i]]-- > 0)//注意必须大于,因为自减会变成负数
{
putchar(index[i]);
num--;//每输出一个,则少一个
}
i++;
}
return 0;
}