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

题目描述:有1、2、3、4个数字 , 能组成多少个互不相同且无重复数字的三位数?都是多少?
具体代码如下:
#includeint main(){//有1、2、3、4个数字 , 能组成多少个互不相同且无重复数字的三位数?都是多少?int i,j,k;printf("\n");for(i=1;i<5;i++) { // 以下为三重循环,百位for(j=1;j<5;j++) {//十位for (k=1;k<5;k++) {// 个位if (i!=k&&i!=j&&j!=k) {//确保i、j、k三位互不相同 printf("%d%d%d",i,j,k);}}}}printf("\n");}
具体运行结果如下:
注:如果此时给定的几个数中包含“0”的情况下 , 我们的百位不能放“0” , 否则就成了两位数 , 解决方法如下:
#includeint main(){ //1,2,3,0int m=0;for(int i=1;i<4;i++){for(int j=0;j<4;j++){for(int k=0;k<4;k++){if(i!=j&&j!=k&&i!=k){ m++;printf("第%d个数字为:",m);printf("%d,%d,%d\n",i,j,k);}}}}}
输出结果为:
此处采用的是对i,j,k的循环取值范围进行规定 , 读者如果仔细阅读会发现 , 循环的差异性 , 此处i,j,k分别表示的是i——百位 , j——十位 , k——个位 。
【有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?】欢迎各位读者阅读 , 还请多多支持和提出意见!