c++编程判断一个数是否是降序数怎么做
2个回答
展开全部
思路:
将各位上数字提取出来
判断高位不能小于下一位
程序:
#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);
}
展开全部
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;
}
{
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询