c语言经典100例分享1
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?输出所有数字?
程序分析:可以先按照顺序依次把4个数字输出到个位,十位,百位,组成所有的排列后再去掉不满足条件的排列。用for循环的嵌套
代码如下:
#include <stdio.h>
int main()
{
int a,b,c;
for(a=1;a<5;a++)
{
for(b=1;b<5;b++)
{
for(c=1;c<5;c++)
{
if(a!=b&&a!=c&&b!=c)
{
printf("%d%d%d\n",a,b,c);
}
}
}
}
return 0;
}
输出结果如下:
1,2,3
1,2,4
1,3,2
1,3,4
1,4,2
1,4,3
2,1,3
2,1,4
2,3,1
2,3,4
2,4,1
2,4,3
3,1,2
3,1,4
3,2,1
3,2,4
3,4,1
3,4,2
4,1,2
4,1,3
4,2,1
4,2,3
4,3,1
4,3,2