当前位置: 代码迷 >> C语言 >> c中的问题
  详细解决方案

c中的问题

热度:85   发布时间:2007-01-25 21:25:00.0
c中的问题


题目:有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多多赐教。


----------------解决方案--------------------------------------------------------
  相关解决方案