题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
#include <stdio.h>
int main (void)
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)
for(j=1;j <5;j++)
for (k=1;k <5;k++)
{
if (i!=k &&i!=j&&j!=k)
printf( "%d,%d,%d\n",i,j,k);
}
}
的输出结果正确吗?如下:
1,2027,3129
2,2027,3129
3,2027,3129
4,2027,3129
5,2027,3129
1,2027,3129
2,2027,3129
3,2027,3129
4,2027,3129
5,2027,3129
1,2027,3129
2,2027,3129
3,2027,3129
4,2027,3129
5,2027,3129
----------------解决方案--------------------------------------------------------
很明显不太对啊。怎么会有四位数,怎么还有7和9和0。。。程序好像没问题。
----------------解决方案--------------------------------------------------------
我得到的结果是:(输出格式调整了一下)
123 124
132 134
142 143
213 214
231 234
241 243
312 314
321 324
341 342
412 413
421 423
431 432
----------------解决方案--------------------------------------------------------
输出格式不是整形吗?应该如何调整呢?
----------------解决方案--------------------------------------------------------
按LZ的程序输出时中间有逗号.
不知道LZ说什么.输出格式就是整型数,但我看了你的程序,不知道为什么结果是你写的这样的.除了i在正常变化之外,后两个都错了.
----------------解决方案--------------------------------------------------------
bz:我的是整形输出的,但为什么是4位数那,结果明显和要求不一样。但程序又找不到错误,请BZ多多赐教。
----------------解决方案--------------------------------------------------------