c语言全排列算法 按大小,求一个C语言全排列的算法。 比如,输入3,则将123的全排列全部输出:123,132,213,231,312,321....

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

jzq12345

2013.08.28

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:57%    等级:11

已帮助:10508人

#include

main()

{

int a1,a2,a3,a4,a5,a6,a7,a8,a9,n,t=0;

scanf("%d",&n);

for(a1=1;a1<=n;a1++)

if(n==1){printf("%d\n",a1);t=t+1;}

else

for (a2=1;a2<=n;a2++)

if(a2!=a1)

{if(n==2) {printf("%d%d\n",a1,a2);t=t+1;}

else

for (a3=1;a3<=n;a3++)

if(a3!=a2&&a3!=a1)

{if(n==3) {printf("%d%d%d\n",a1,a2,a3);t=t+1;}

else

for (a4=1;a4<=n;a4++)

if(a4!=a3&&a4!=a2&&a4!=a1)

{if(n==4) {printf("%d%d%d%d\n",a1,a2,a3,a4);t=t+1;}

else

for (a5=1;a5<=n;a5++)

if(a5!=a4&&a5!=a3&&a5!=a2&&a5!=a1)

{if(n==5) {printf("%d%d%d%d%d\n",a1,a2,a3,a4,a5);t=t+1;}

else

for (a6=1;a6<=n;a6++)

if(a6!=a5&&a6!=a4&&a6!=a3&&a6!=a2&&a6!=a1)

{if(n==6) {printf("%d%d%d%d%d%d\n",a1,a2,a3,a4,a5,a6);t=t+1;}

else

for (a7=1;a7<=n;a7++)

if(a7!=a6&&a7!=a5&&a7!=a4&&a7!=a3&&a7!=a2&&a7!=a1)

{if(n==7) {printf("%d%d%d%d%d%d%d\n",a1,a2,a3,a4,a5,a6,a7);t=t+1;}

else

for (a8=1;a8<=n;a8++)

if(a8!=a7&&a8!=a6&&a8!=a5&&a8!=a4&&a8!=a3&&a8!=a2&&a8!=a1)

{if(n==8) {printf("%d%d%d%d%d%d%d%d\n",a1,a2,a3,a4,a5,a6,a7,a8);t=t+1;}

else

for (a9=1;a9<=n;a9++)

if(a9!=a8&&a9!=a7&&a9!=a6&&a9!=a5&&a9!=a4&&a9!=a3&&a9!=a2&&a9!=a1)

{if(n==9) {printf("%d%d%d%d%d%d%d%d%d\n",a1,a2,a3,a4,a5,a6,a7,a8,a9);t=t+1;}

}

}

}

}

}

}

}

}

printf("共有%d种\n",t);

getchar();getchar();

}

自己辛辛苦苦写的,用dev c运行成功

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值