大哥 大姐 帮个忙,谢谢~
从键盘输入一个正整数,将该正整数中的每位数字重新排列,分别组成一个最大数和一个最小数,并依次输出,两数间用空格分隔。 搜索更多相关的解决方案:
大姐
----------------解决方案--------------------------------------------------------
我的理解就是这样了~~~~
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自己小心```
先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");
}
----------------解决方案--------------------------------------------------------