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

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

问题描述:

用C语言写一个函数,要怎么用指针把奇数提取出来,然后再用这些奇数组成一串新的数 ?

#include "stdio.h"

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;
    }
}

int main()
{
    int n;
    scanf("%d", &n);
    int result;
    foo(n, &result);
    printf("%d\n", result);
    return 0;
}

图片说明

如果问题得到解决,请点我回答右边的采纳,谢谢

#include<stdio.h>
int main() {
    int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int b[10];
    int top = 0;
    for (int *p = a; p!=&a[10]; p++) {
        if (*p % 2)
            b[top++] = *(p);
    }
    for (int j = 0; j < top; j++)
        printf("%d ", b[j]);
    return 0;
}