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

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

用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; //仅需要加上一行
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?