输入4个不相同的数字,输出所有可能组成的4位数整数。
输入4个不相同的数字,输出所有可能组成的4位数整数。本人初学者,,,这个真心不会!!想了一天了...调试了很多遍,还是错、、求大神解决!!
#include <stdio.h> void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } void perm(int a[], int k, int m) { int i; if(k == m) { for(i = 0; i <= m; printf("%d ", a[i++])) ; printf("\n"); } else for(i = k; i <= m; i++) { swap(&a[k], &a[i]); perm(a, k + 1, m); swap(&a[k], &a[i]); } } int main() { int a[100], i; for(i = 0; i <= 3; i++) scanf("%d", &a[i]); perm(a, 0, 4 - 1); return 0; }