描述
"ACM"家里的辈分是按找字典序排序的,
"ACM"是家里辈分最小的还(谐音)子,
"MCA"是家里辈分最大的还(谐音)子。
给定一个小朋友的名字,请你按找字典序从辈分最小的还(谐音)子开始,把这个小朋友家里全部的还(谐音)子的名字都输出.
输入
一个由英文字母组成的字符串,长度不超过10。
输出
按照题目要求输出,每个名字一行。
输入样例 1
acm
输出样例 1
acm
amc
cam
cma
mac
mca
语言:C++
求解答!
@CSDN-Ada助手
全家福(C++)!?!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-sinJack 2023-08-19 19:55关注
#include <iostream> #include <algorithm> using namespace std; void method(string name, string prefix) { if (name.length() == 0) { cout << prefix << endl; return; } for (int i = 0; i < name.length(); i++) { string newPrefix = prefix + name[i]; string newName = name.substr(0, i) + name.substr(i + 1); method(newName, newPrefix); } } int main() { string name; cin >> name; sort(name.begin(), name.end()); method(name, ""); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1