题目:有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 }
运行结果: