我正在尝试编写一个程序,要求您输入一个四个字母的单词。然后你的程序将根据给定的单词显示所有可能的四个字母组合。例如,您输入了单词TEST。然后你的程序将显示以下内容: TSTE TTES等 根据我的研究和一点点谷歌搜索我创建了这个:
using namespace std;
int main()
std::string s = "";
std::sort(s.begin(), s.end());
do {
std::cout << "Please Enter any Letter" << '\n';
std::cin >> s;
std::cout << " The Permutation is " << s <<'\n' << endl;
} while(std::next_permutation(s.begin(), s.end
}
因此,当我尝试输入一个四个字母的单词时,它只显示字母和排列不会发生。我在这做错了什么? PS我仍然是初学者和学习C ++的学生所以请清楚地解释它:)
答案 0 :(得分:1)
std::cin >> s;
接受用户的输入。鉴于你想要做什么,每次循环都这样做是没有意义的。将它移到循环外部并遍历循环中的排列。
std::string s = "";
std::cout << "Please Enter any word" << '\n';
std::cin >> s;
std::sort(s.begin(), s.end());
do {
std::cout << " The Permutation is " << s <<'\n' << endl;
} while(std::next_permutation(s.begin(), s.end);