C语言编程在线求!!!有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
显然,百位数有4种选择,为与百位数不重复,十位数就只有3种选择了;同样道理,个位数就只有2种选择。所以1、2、3、4等4个数字能组成4x3x2共24种互不相等且没有重复数字的3位数。根据上述原理,可用一个3层嵌套for循环来完成,代码如下:
#include "stdio.h"运行结果如下:
这个是一个简单的排列组合问题:4*3*2=24种(第1位可以从4个数字中任选一个,第二位只能从剩下的3个数字中选一个,第三位只能从剩下的2个数字中任选一个)。
编程求解:
[cpp] view plain copy print?
#include<stdio.h>
#include<stdlib.h>
void Test()
{
int j = 1;
int k = 1;
int t = 1;
int num = 0;
for (j = 1; j <= 4; j++)
{
for (k = 1; k <= 4; k++)
{
for (t = 1; t <= 4; t++)
{
if ((j != k)
&&(j != t)
&&(k != t))
{
num = j + k * 10 + t * 100;
printf("%d ", num);
}
}
}
}
}
int main()
{
Test();
system("pause");
return 0;
}