输出右1,2,3,4组成的所有三位数,三位数间无重复数字.怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/06 20:45:47

#include<stdio.h>
main()
{int i,j,k;
for(i=1;i<5;i++)
for(j=1;j<5&&i!=j;j++)
for(k=1;k<5&&k!=j&&k!=i;k++)
printf("%d%d%d\n",i,j,k);
}
这个应该可以,没在编译器上运算过

由排列组合来看,有二十四种情况。要全写出的话,建议数字从高位到低位,由小变大的写。这样不容易错

分数太少!

穷举法

这算法不太好,不过可以得出结果。

#include <stdio.h>
main()
{
int i,j,m,n,x;
for(i=1;i<5;i++)
{
for(j=1;j<5;j++)
{
if(j==i) continue;
for(m=1;m<5;m++)
{
if(j==i||j==m||i==m) continue;
x=i+j*10+m*100;
printf("%d\t",x);
}
}
}
}