用c语言编写,任意四个一位数,能组成多少个互不相同且无重复的三位数,打印出来

如题所述

我只是告诉你. 三个一位数 能够组成多少种 不同的三位数. 而且 组成的三位数中每一位没有相同的数字, 它的组成个数是 3的阶乘个 也就是 3! = 1*2*3 = 6种
例如 任意三个不同的数字 : 3 7 8
378 387
738 783
837 873

由此可以得出 如果是4个任意不相同的数字进行组合 并且 组成的数字互不不重复, 组合也不重复
就有 4! (4的阶乘个) 也就是 1*2*3*4 = 24 种
不信自己组合的试试...
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-15
#include<stdio.h>
main()
{
int i, j, k;
int m=0;
for(i=1;i<10;i++)
for(j=1;j<10;j++)
for(k=1;k<10;k++)
{
if(i!=j&&k!=j&&i!=k)
{
printf("%d%d%d\n",i,j,k);
m++;
}
}
printf("%d\n",m);
getch();
}
第2个回答  2013-11-15
//假装每个数字只能用一次
#define N 4
char c[1000];
char n[N];
void find(int l, int r, int p){
if (l == N && !c[r] && r >= 100){
printf("%d\n", r);
c[r] = 1;
return;
}
while (;p < n;)
find(l + 1, r * 10 + n[p], ++p);
}
int main(){
int i;
printf("input four digits\n");
for (i = 4; i--;)
scanf("%d", &n[i]);
find(0, 0, 0);
return 0;
}本回答被网友采纳
相似回答
大家正在搜