quanpailie.cpp

来自「给出一组数的全排列 如1,2,3给出 123,321,312」· C++ 代码 · 共 33 行

CPP
33
字号
#include <stdio.h>
#include <malloc.h>
int *s,*c,k;
void fun(int n)
{    int i;
    for(i=0;i<n;i++)
    {    if(s[i]==0)
        {    c[k++]=i+1;
            s[i]=1;
            fun(n);
            s[i]=0;
            --k;
        }
    }
    if(k==n)
    {    for(i=0;i<n;i++)printf("%7d",c[i]);
        printf("\n");
    }
}
void main()
{    int n;
    do{
    printf("请输入一个整数:");
    scanf("%d",&n);}
    while(n<0||n>32767);
    s=(int *)malloc(sizeof(int)*n);
    c=(int *)malloc(sizeof(int)*n);
    for(k=0;k<n;k++)s[k]=c[k]=0;
    k=0;
    fun(n);
	scanf("%d",&n);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?