Lyn_Lin 2014-11-12 12:31
浏览 1474

请教大神:如何使全排列按从小到大的顺序输出?

现在只能输出全排列。

代码如下:

#include
int main()
{
void change(int *a,int *b,int temp);
void pai(int *num,int i,int n);
int num[10];
int i,n;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;++i)
num[i]=i+1;
pai(num,0,n-1);
printf("\n");
}
return 0;

}

void change(int *a,int *b,int temp)
{
temp=*a;
*a=*b;
*b=temp;
}

void pai(int*num,int i,int n)
{
int j,temp;
void change(int *a,int *b,int temp);
if(i==n)
{
printf("(%d",num[0]);
for(j=1;j<=n;++j)
printf(", %d",num[j]);
printf(")");
}
else
{
for(j=i;j<=n;++j)
{
change(&num[i],&num[j],temp);
pai(num,i+1,n);
change(&num[i],&num[j],temp);
}
}

}

求教O(∩_∩)O

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
    • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
    • ¥30 python代码,帮调试
    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
    • ¥15 数据可视化Python
    • ¥15 要给毕业设计添加扫码登录的功能!!有偿
    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥100 Jenkins自动化部署—悬赏100元