程序功能:将输入的字符串中的字母按照一定的规则重新排列。\n\n设计思路:\n1. 定义一个字符数组str和一个整数数组book,数组book用来记录字符串中出现的字母的个数。\n2. 输入字符串并遍历字符串中的每个字符,根据字符的类型将相应的计数器加一。\n3. 使用一个while循环,当所有计数器都为0时结束循环。\n4. 在循环中,按照G、P、L、T的顺序,分别判断计数器是否大于0,如果大于0则输出相应的字母并将计数器减一。\n5. 循环结束后,输出排列后的字符串。\n\n结构说明:\n1. 定义了一个字符数组str和一个整数数组book,分别用来存储输入的字符串和记录字母个数。\n2. 使用了一个while循环,循环条件为所有计数器都为0。\n3. 在循环中,使用了4个if语句分别判断每个字母的计数器是否大于0,如果大于0则输出相应的字母并将计数器减一。\n4. 循环结束后,程序返回0。\n\n代码示例:\nc++\n#include<iostream>\n#include<cstring>\n#include<algorithm>\n#define MAXN 10001\nusing namespace std; \n\nint main()\n{\n char str[MAXN];\n int book[4]={0};\n //G P L T\n cin >> str;\n for(int i=0;i<strlen(str);i++)\n {\n if(str[i]=='G'||str[i]=='g')\n book[0]++;\n else if(str[i]=='P'||str[i]=='p')\n book[1]++;\n else if(str[i]=='L'||str[i]=='l')\n book[2]++;\n else if(str[i]=='T'||str[i]=='t')\n book[3]++;\n }\n while(1)\n {\n if(book[0]>0)\n {\n cout << "G";\n book[0]--;\n }\n if(book[1]>0)\n {\n cout << "P";\n book[1]--;\n }\n if(book[2]>0)\n {\n cout << "L";\n book[2]--;\n }\n if(book[3]>0)\n {\n cout << "T";\n book[3]--;\n }\n if(book[0]==0&&book[1]==0&&book[2]==0&&book[3]==0)\n break;\n }\n return 0;\n}\n\n


原文地址: https://www.cveoy.top/t/topic/p5Kn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录