c语言,如何得到n个数所有的排列

 我来答
程英锐纪精
2019-03-24 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:868万
展开全部
#include
<stdio.h>
inline
void
Swap(char&
a,
char&
b)
{//
交换a和b
char
temp
=
a;
a
=
b;
b
=
temp;
}
void
Perm(char
list[],
int
k,
int
m)
{
//生成list
[k:m
]的所有排列方式
int
i;
if
(k
==
m)
{//输出一个排列方式
for
(i
=
0;
i
<=
m;
i++)
putchar(list[i]);
putchar('\n');
}
else
//
list[k:m
]有多个排列方式
//
递归地产生这些排列方式
for
(i=k;
i
<=
m;
i++)
{
Swap
(list[k],
list[i]);
Perm
(list,
k+1,
m);
Swap
(list
[k],
list
[i]);
}
}
int
main()
{
char
s[]="123";
Perm(s,
0,
2);
return
0;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式