栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言-有关数字翻转的函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言-有关数字翻转的函数

众所周知,有两种形式的数字翻转。一种是忽略0的。

如,123的翻转数字是321,而700的翻转数字是7。我们称之为第一种数字翻转。它的函数如下。

int overturn(int num){
    int ot_num = 0;     //翻转后的数字
    int digit = 0;      //每一次取出来的最末位的数字
    while(num != 0){
        if(num / 10 >=1){   //当输入的数没有被划到只剩一位时
            digit = num % 10;   //取出末位数字
            num /= 10;          //“划掉”最后一位
            ot_num = ot_num * 10 + digit;   //翻转
        }
        else{   //只剩一位时
            ot_num = ot_num * 10 + num;
            break;
        }
    }
    return ot_num;
}

调用实例如下:

#include
int overturn(int num){
    int ot_num = 0;     //翻转后的数字
    int digit = 0;      //每一次取出来的最末位的数字
    while(num != 0){
        if(num / 10 >=1){   //当输入的数没有被划到只剩一位时
            digit = num % 10;   //取出末位数字
            num /= 10;          //“划掉”最后一位
            ot_num = ot_num * 10 + digit;   //翻转
        }
        else{   //只剩一位时
            ot_num = ot_num * 10 + num;
            break;
        }
    }
    return ot_num;
}
int main(){
    int num = 0;
    while(scanf("%d",&num) != EOF){
        printf("%dn",overturn(num));
    }
    return 0;
}

 上面的注释写的很清楚,不多解释了。

那么第二种数字翻转是这样的。123的翻转数是321,而700的翻转数就是007 。它会如实地输出每一位的数字,不会进行任何省略。那么它的函数如下。

void overturn_honest(){
    int num = 0;
    int digit = 0;
    scanf("%d",&num);
    while(1){
        if(num / 10 >= 1){
            digit = num % 10;
            num /= 10;
            printf("%d",digit);
        }
        else{
            printf("%dn",num);
            break;
        }
    }
}

可以看到,我这里用了一个void。因为除了char 没有一个数据类型可以保存类似007这样的数字,而就算保存了也没什么意义。所以我宁愿这个函数无返回值。

对它进行一个调用:

#include
void overturn_honest(){
    int num = 0;
    int digit = 0;
    scanf("%d",&num);
    while(1){
        if(num / 10 >= 1){
            digit = num % 10;
            num /= 10;
            printf("%d",digit);
        }
        else{
            printf("%dn",num);
            break;
        }
    }
}
int main(){
    while(1)
    overturn_honest();
}

但是有个问题,你不要没事找事去输入007这种数字去让他翻转,这纯属恶心行为。

欢迎使用这些函数!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396321.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号