1043 输出PATest
给定一个长度不超过 1 的、仅由英文字母构成的字符串。请将字符重新调整顺序,按
PATestPATest....
这样的顺序输出,并忽略其它字符。当然,六种字符的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 PATest 的顺序打印,直到所有字符都被输出。输入格式:
输入在一行中给出一个长度不超过 1 的、仅由英文字母构成的非空字符串。
输出格式:
在一行中按题目要求输出排序后的字符串。题目保证输出非空。
输入样例:
redlesPayBestPATTopTeePHPereatitAPPT
输出样例:
PATestPATestPTetPTePePee
作者: CHEN, Yue单位: 浙江大学时间限制: 400 ms内存限制: 64 MB代码长度限制: 16 KB
思路: 1、接收字符串
2、遍历字符串,使用计数数组,分别对 'P' 'A' 'T' 'e' 's' 't' 这几个字符进行计数
3、根据计数数组,按顺序分别输出'P' 'A' 'T' 'e' 's' 't' (重复循环),若计数为0则不输出,直到计数数组全为零,停止输出
实现代码:
1 /---------C语言实现--------/ 2 #include <stdio.h> 3 4 int main(void) 5 { 6 char inputStr[10005]; //测试样例 7 int count[6] = { 0 }; //计数数组,每一位分别对应'P' 'A' 'T'...的数量 8 char outputStr[6] = {"PATest"}; //输出用字符数组 9 int i; 10 11 gets(inputStr); 12 13 //接受字符串,遍历字符串,更新计数数组 14 for (i = 0; inputStr[i] != '