//题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#include <stdio.h>
void fun(int a[], int n, int *num) {
int i, j, k, count=0;
int val=0, temp1, temp2;
for(i=0; i<n; i++) {
val = a[i]*100; //百位数字
temp1 = val;
for(j=0; j<n; j++) {
if(a[j] != a[i]) { //依次从头开始,如果与白位数字不相同,这让百位数字加上十位数字
val = temp1 + a[j]*10; //十位数字
temp2 = val;
for(k=0; k<n; k++) {
if((a[k]!=a[i]) && (a[k]!=a[j])) {
val = temp2 + a[k];
printf("%d\t",val);
count++;
}
}
}
}
}
*num = count;
}
int main() {
int a[4] = {1,2,3,4};
int num;
fun(a,4,&num);
printf("\n有%d个\n",num);
}