#include
int fun1(int n)
{
int x=0; //低位数字
int y=0; //高位数字 例如 8756 x=6 y=5, 下次循环 x=5,y=7 直到y=0表示比较完毕
do
{
x = n % 10; //得到个位数字 例如8756得到 6
n = n / 10; //n截去个位数,例如 8756得到875
y = n % 10; //得到新的个位数字 例如875得到 5,实际就是截取之前的高位数字5
if(x-y <0) //任意一次有低位小于高位数值的,就表示不符合要求
return 0;
}while( y>0 );
return 1;
}
void main()
{
int n=0;
while(scanf("%d",&n),n>0)
if(fun1(n) )
printf("%d中各位数字按从小到大排列\n",n);
}
VS2008调试运行结果正确。
如果你用别的编译器编译不过的话,把我的所有注释去掉就可以了。
=====================哈哈,可以简化那个fun1
如果你交作业的话,还是用上面带注释的。
int fun1(int n)
{
int x=0,y=0;
while (x = n % 10,n = n / 10,y = n % 10, y>0 )
{
if(x-y <0)
return 0;
}
return 1;
}