1043. 输出PATest(20)
原题: https://www.patest.cn/contests/pat-b-practise/1043
思路: 不变的套路, 开一个128的ASCII数组, 所有字符都拿进来, 之后输出,
当PATest这6个字符全为0时, 停止.
实现:
#include <stdio.h>
int main (void) {
int ascii[128] = {0};
char ch;
while ((ch = getchar()) != '\n') {
ascii[ch]++;
}
while (1) {
if (ascii['P'] != 0) {
printf("P");
ascii['P']--;
}
if (ascii['A'] != 0) {
printf("A");
ascii['A']--;
}
if (ascii['T'] != 0) {
printf("T");
ascii['T']--;
}
if (ascii['e'] != 0) {
printf("e");
ascii['e']--;
}
if (ascii['s'] != 0) {
printf("s");
ascii['s']--;
}
if (ascii['t'] != 0) {
printf("t");
ascii['t']--;
}
if (
ascii['P'] == 0 && ascii['A'] == 0 &&
ascii['T'] == 0 && ascii['e'] == 0 &&
ascii['s'] == 0 && ascii['t'] == 0
) {
break;
}
}
return 0;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步