题目:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:
可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件(111、222、333、444、112等)的排列。
可以用排列组合的方法来解决这个问题,因为这个问题可以抽象成从1、2、3、4这四个数字中取出不同的三个数字来组成三位数。
首先,从4个数字中选择3个数字,总共有4 x 3 x 2种选择方法,即24种。
⒉程序源代码
int main(int argc, char** argv) {
int a,b,c,d,s;
d=s=0;
for(a=1; a<5; a++) {
for(b=1; b<5; b++) {
for(c=1; c<5; c++) {
if(a!=b&&a!=c&&b!=c) {
d=a*100+b*10+c;
printf("%d\n",d);
s++;
}
}
}
}
printf("个数为%d",s);
return 0;
}
运行截图