用c语言编写程序,输出7,8,9三个数字的全部排列组合顺序

2024-11-29 04:45:30
推荐回答(3个)
回答(1):

#include
#define N 3

void aArrange(int a[],int j,int b)
{
int i,k;
int temp;
for(i=j;i {
temp=a[i];
a[i]=a[j];
a[j]=temp;
aArrange(a,j+1,b);
if(j==b-1)
{
for(k=0;k printf("%d",a[k]);
printf("\n");

}
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}

main()
{
int a[N]={7,8,9};
aArrange(a,0,N);
}
采用递归的方法,用函数void find(int k)来存放第n个数,再用一个数组int pos[4]来表示每个位置上的数字。

回答(2):

#include
#define N 3

void aArrange(int a[],int j,int b)
{
int i,k;
int temp;
for(i=j;i {
temp=a[i];
a[i]=a[j];
a[j]=temp;
aArrange(a,j+1,b);
if(j==b-1)
{
for(k=0;k printf("%d",a[k]);
printf("\n");

}
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}

main()
{
int a[N]={7,8,9};
aArrange(a,0,N);
}

回答(3):

void main()
{

    int maxRow = 5; // 输出行数
    int num = 1;

    for(int i=0 ; i    {
        for(int j=0 ; j<=i; j++)

        {
            printf(num++);

            printf("\t");

        }

        printf("\n");

    }  

}