C语言编程,有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

问题描述:

C语言编程,有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include <stdio.h>
#define MAX_NUM 4
int main()
{
    int a[MAX_NUM]={1, 2, 3, 4};
    int count=0;
    for(int i=0;i<MAX_NUM;i++)
    {
        for(int j=0;j<MAX_NUM;j++)
        {
            if (j==i)
                continue;
            for(int k=0;k<MAX_NUM;k++)
            {
                if (k==i||k==j)
                    continue;
                printf("%d\t", (a[i]*100+a[j]*10+a[k]));
                count++;
            }
        }
    }
    printf("\n total:%d\n", count);
}
运行结果:
123     124     132     134     142     143     213     214     231     234
241     243     312     314     321     324     341     342     412     413
421     423     431     432
 total:24