有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:这是数学上的排列组合,因为所给出的数字中没有0,所以共有4*3*2=24种。所输出的数据可以通过三重循环来解决,定义三个变量,当所有变量都不相等时,输出该数据。
程序源代码:
1 #include "stdio.h"
2 void main()
3 {
4 int a,b,c; //定义三个数,用来表示个十百位
5 int n=1;//定义显示个数
6 printf("因为没有一个数是0,所以共有4*3*2=24个数\n");
7 for(a=1;a<5;a++) //三层循环
8 for(b=1;b<5;b++)
9 for(c=1;c<5;c++)
10 {
11 if(a!=b&&a!=c&&b!=c)
12 {
13 printf("第%d个三位数为%d%d%d\n",n,a,b,c); //显示
14 n++;
15 }
16 }
17 getchar();
18 }
运行结果: