输入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;
}
