判断一个数高位到低位是否是从小到大排列

判断一个数高位到低位是否是从小到大排列

输入一批正整数(以零或负数为结束标志),判断每个数从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数fun(m)判断m中各位数字是否按值从小到大排列,满足条件返回1,否则返回0。

#include <stdio.h>
int fun(int n)
{
    int old_digit = 10;
    int cur_digit;
    while(n > 0)
    {
        cur_digit = n % 10;
        if(cur_digit > old_digit)//这个判断条件是给第二轮循环看的,第一轮循环只看其他语句,相当于一个对第一轮没有影响的但是之后需要的判断条件
            return 0;
        old_digit = cur_digit;//第一轮循环是一个准备工作,好像是可以拿到循环外边做的,但是实际做了发现并不好,因为这个语句确实是需要循环来提供下一步的依托的
                            //如果非要提到外边会造成语句的赘余
        n /= 10;
    }
    return 1;
}
int main()
{
    int n;
    scanf("%d",&n);
    while(n>0)
    {
        if(fun(n))
            printf("yes");
        else
            printf("no");
        scanf("%d",&n);
    }
    return 0;
}

作者:Evinci

出处:https://www.cnblogs.com/evinci/p/17123982.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   EEvinci  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示