#include <stdio.h>
main ()
{
short num, t, tem, i, x[4];
//目前定义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");
}
以上是我昨天晚上想的,我也是用除的,用除之后也存在一些问题我解决不了,比如:如何才能知道用户输入了几位数?还有就是用除它的循环怎么写?
[[italic] 本帖最后由 kinglon 于 2007-12-6 09:18 编辑 [/italic]]