怎么将一串数字里的奇数提取出来组成一个新的数?
问题描述:
用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;
}