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