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

15 篇文章 3 订阅
该代码实现了一个功能,用于检查输入的正整数是否从高位到低位按数字大小递增。函数fun通过逐位比较数字并更新最大已知数字来完成判断,返回1表示递增,0则表示不递增。在主函数中,程序读取一系列整数并输出它们是否满足递增条件。
摘要由CSDN通过智能技术生成

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

输入一批正整数(以零或负数为结束标志),判断每个数从高位到低位的各位数字是否按值从小到大排列。要求定义和调用函数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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Every DAV inci

小辣鸡一枚,不求打赏啦~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值