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

    xiaoxiao2023-11-14  138

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

    具体代码如下:

    #include<stdio.h> int 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”,否则就成了两位数,解决方法如下:

    #include<stdio.h> int main() { //1,2,3,0 int 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——个位。

    欢迎各位读者阅读,还请多多支持和提出意见!

    最新回复(0)