注册 登录
编程论坛 C++教室

求实现方法,小问题不小视!

houbincarson 发布于 2012-09-08 21:41, 301 次点击
定义:
int a[3] = {1,2,3};
char b[3] = {'A','B','C'};
求实现方法:????

结果:
1->A 2->B 3->C
1->A 2->C 3->B
1->B 2->A 3->C
1->B 2->C 3->A
1->C 2->A 3->B
1->C 2->B 3->A
3 回复
#2
pangding2012-09-08 22:49
三五行代码就可以搞定。你去查下 next_permutation() 这个函数怎么用吧。
#3
Ziverson2012-09-09 22:59
两个for循环吧我猜,不过我也是菜鸟
#4
houbincarson2012-09-15 10:46
#include <iostream>
#include <algorithm>
using namespace std;

int main(int argc, char* argv[])
{
    int a[5] = {1, 2, 3,4,5};
    char b[5] = {'A', 'B', 'C','D','E'};
int count = 1;
    sort(b, b + 5);
    do
    {
        cout << count << "  " << a[0] << "->" << b[0] << " ";
        cout << "  " << a[1] << "->" << b[1] << " ";
        cout << "  " << a[2] << "->" << b[2] << "  ";
        cout << "  " << a[3] << "->" << b[3] << "  ";
        cout << "  " << a[4] << "->" << b[4] << endl;
        count++;
    }
    while(next_permutation(b, b + 5));//注意这个函数的用法:
    return 0;
1