给定四个数,全排列c语言
时间: 2024-05-04 08:22:01 浏览: 43
C语言全排列
以下是用C语言实现四个数的全排列:
```c
#include <stdio.h>
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void permute(int arr[], int start, int end)
{
if (start == end)
{
for (int i = 0; i <= end; i++)
printf("%d ", arr[i]);
printf("\n");
}
else
{
for (int i = start; i <= end; i++)
{
swap(&arr[start], &arr[i]);
permute(arr, start + 1, end);
swap(&arr[start], &arr[i]);
}
}
}
int main()
{
int arr[] = {1, 2, 3, 4};
int n = sizeof(arr) / sizeof(arr[0]);
permute(arr, 0, n - 1);
return 0;
}
```
输出结果为:
```
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 3 2
1 4 2 3
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 3 1
2 4 1 3
3 2 1 4
3 2 4 1
3 1 2 4
3 1 4 2
3 4 1 2
3 4 2 1
4 2 3 1
4 2 1 3
4 3 2 1
4 3 1 2
4 1 3 2
4 1 2 3
```
阅读全文