SKTT1Faker2015 2018-10-28 06:43 采纳率: 66.7%
浏览 2259
已采纳

怎么将一串数字里的奇数提取出来组成一个新的数?

用C语言写一个函数,要怎么用指针把奇数提取出来,然后再用这些奇数组成一串新的数 如果全是偶数,如24224时输出值为-1?

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-10-28 07:04
    关注

    规范的写法是:

    void foo(int n, int * result)
    {
        *result = 0;
        int base = 1;
        int oc = 0;
        while (n != 0)
        {
            if (n % 2 == 1) 
            {
                oc = 1;
                *result += (n % 10) * base; 
                base *= 10;
            }
            n /= 10;
        }
        if (!oc) *result = -1;
    }
    

    这个办法奇数、偶数都适用
    但是因为你是奇数,所以,如果结果是0,就可以判定没有出现偶数了。

    void foo(int n, int * result)
    {
        *result = 0;
        int base = 1;
        while (n != 0)
        {
            if (n % 2 == 1) 
            {
                *result += (n % 10) * base; 
                base *= 10;
            }
            n /= 10;
        }
        if (*result == 0) *result = -1; //仅需要加上一行
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集