c++编程判断一个数是否是降序数怎么做

如题所述

思路:

    将各位上数字提取出来

    判断高位不能小于下一位

程序:

#include<stdio.h>

void main()

{  int x,n=0,s=0,w1,w2,x1;

   scanf("%d",&x); x1=x; w1=x%10; x/=10;

   while ( x )

   { w2=x%10; x/=10; if ( w2<w1 ) { s=1; break; }

     w1=w2;

   }

   if ( s ) printf("%d不是降序数。\n",x1);

   else printf("%d是降序数。\n",x1);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-30
bool isDes(int n)//n为正整数
{
int a=0;//初始0,while中得到个位时,后一位就看做0
int b;
while(n) //这个循环可以得到n的每一位数
{
b=n%10;//得到n的每一位数
if(b<a)//如果当前位的数比后一位的数小,不为降序,返回假
return false;
a=b;//将当前位存入a中,方便下次比较
n =n/10;
}
return true;//证明是降序,返回真
}
int main()
{
int n;
scanf("%d",&n);
if(isDes(n))
printf("是");
else
printf("不是");
system("pause");
return 0;
}
相似回答