c语言题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(用go语言)

如题所述

百位数有4种选择,为与百位数不重复,十位数就只有3种选择了;同样道理,个位数就只有2种选择。所以1、2、3、4等4个数字能组成4x3x2共24种互不相等且没有重复数字的3位数。根据上述原理,可用一个3层嵌套for循环来完成,代码如下:

#include "stdio.h"

int main(int argc,char *argv[]){

int i,j,k,t;

printf("A total of %d no repeat number 3-digits, they are as follows:\n",4*3*2);

for(t=0,i=1;i<=4;i++)//百位数字有4种选择

for(j=1;j<=4;j++)//十位数字有3种选择

if(j!=i)//遇到十位数字等于百位数字时跳过

for(k=1;k<=4;k++)//个位数字只有2种选择了

if(k!=i && k!=j)//个位数字与十位或百位数字相等时跳过

printf(++t%10 ? "%4d" : "%4d\n",i*100+j*10+k);//输出该三位数

if(t%10)

printf("\n");

return 0;

}

扩展资料

#include<stdio.h>

main()

{

int i, j, k;

int m=0;

for(i=1;i<5;i++)

for(j=1;j<5;j++)

for(k=1;k<5;k++)

{

if(i!=j&&k!=j&&i!=k)

{

printf("%d%d%d\n",i,j,k);

m++;

}

}

printf("%d\n",m);

getch();

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-04
到底是用C语言还是GO语言?C语言题目用GO语言写?追问

go

相似回答