Loading... ``` #include<stdio.h> void Perm(int a[], int n, int s, int r[], int m); int main() { int a[100], r[100], i, n; printf("输入待排数列的数列中元素的个数:"); scanf("%d", &n); printf("输入数列中的元素:"); for (i = 0; i < n; i++) scanf("%d", &a[i]); Perm(a, n, 0, r, n); //全排列 return 0; } void Perm(int a[], int n, int s, int r[], int m) { int i, j, k, flag = 0; int b[100]; for (i = 0; i < n; i++) { flag = 1; r[s] = a[i]; j = 0; for(k=0;k<n;k++) if (i != k) { b[j] = a[k]; j++; } Perm(b, n - 1, s + 1, r, m); } if (flag == 0) { printf("\n"); for (k = 0; k < m; k++) printf("%d", r[k]); printf("\n"); } } ``` 最后修改:2020 年 11 月 29 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏