当前位置: 代码迷 >> C语言 >> 大哥 大姐 帮个忙,谢谢~
  详细解决方案

大哥 大姐 帮个忙,谢谢~

热度:479   发布时间:2007-12-05 17:03:50.0
大哥 大姐 帮个忙,谢谢~
从键盘输入一个正整数,将该正整数中的每位数字重新排列,分别组成一个最大数和一个最小数,并依次输出,两数间用空格分隔。
搜索更多相关的解决方案: 大姐  

----------------解决方案--------------------------------------------------------
我的理解就是这样了~~~~
a[3],a[0],a[1],a[2]依次存放百位,十位,个位
再从大到小排序
再从小到大排序
然后分别输出
----------------解决方案--------------------------------------------------------
LS这么确定就只有百位数?
----------------解决方案--------------------------------------------------------
我可不这样``
----------------解决方案--------------------------------------------------------
我只是假设是3位数 初学~见笑了
----------------解决方案--------------------------------------------------------
先getchar到一个数组```

然后再排序```

然后再顺序输出

空格后

逆序输出``

其他地方``LZ自己小心```
----------------解决方案--------------------------------------------------------
我都一下想到几个方法了```LZ加油啊```
----------------解决方案--------------------------------------------------------
原帖由 [bold][underline]死了都要C[/underline][/bold] 于 2007-12-5 17:16 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1132744&ptid=190594][/url]
先getchar到一个数组```

然后再排序```

然后再顺序输出

空格后

逆序输出``

其他地方``LZ自己小心```

这方法极好~~我的到是多此一举了~何必排2次呢呵呵~学习了
----------------解决方案--------------------------------------------------------
这一题对我来说比较困难,不过还是试着写一些代码,虽然只能完成此题的一点点功能而已,希望借回复顶一下此贴,高手看到之后希望可以给出答案,此题可以综合测试出咱们哪些地方的功底差,我用了几个小时才想出这么点东西来,我的思路有可能不对,请高手指点。


#include <stdio.h>

main ()
{
     short num, t, tem, i, x[4];
     printf("Input a number:\n");
     scanf("%d", &num);

     x[0]=num/1000;
     x[1]=num/100-x[0]*10;
     x[2]=num/10-x[0]*100-x[1]*10;
     x[3]=num-x[0]*1000-x[1]*100-x[2]*10;
     printf("\n");

     for (i=0; i<4; i++)
     {     
          printf("%d  ", x[i]);
     }
     printf("\n");

     for (t=1; t<4; t++)
     {
          for (i=0; i<=3-t; i++)
          {
               if ( x[i] > x[i+1] )
               {
                    tem=x[i]; x[i]=x[i+1]; x[i+1]=tem;
               }
          }
     }

     for (i=0; i<4; i++)
     {     
          printf("%d", x[i]);
     }
     printf("\n");

     for (i=3; i>=0; i--)
     {     
          printf("%d", x[i]);
     }
     printf("\n");
}
----------------解决方案--------------------------------------------------------
  相关解决方案