求一个小算法程序,请算法高手来
求一个数字的每位是奇数的数字取出来组合形成新数字求可运行的程序
程序代码:#include <stdio.h>
int main(void) {
int i, j, k = 1, m = 0;
scanf("%d", &i);
while(i) {
j = i % 10;
i /= 10;
if(j % 2) {
m += j * k;
k *= 10;
}
}
printf("%d\n", m);
return 0;
}

程序代码:
//求一个数字的每位是奇数的数字取出来组合形成新数字
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void main()
{
int *a,mulong,mu,i=0;
a=(int *)calloc(10,sizeof(int));
printf("请您输入数字\n");
scanf("%d",a);
mulong=(int)(log10(a[0])); //这里是取出一共有几位数
for(;pow(10,mulong)>=1;){
mu=(int)(a[0]/pow(10,mulong));
if(mu%2!=0){
i++; a[i]=mu;
}
a[0]=a[0]-mu*pow(10,mulong);
mulong=mulong-1;
}
printf("您输入的数中有下列是奇数");
for(mu=1;mu<=i;mu++)
printf("%d,",a[mu]);
printf("\n");
printf("可以组成新数为:");
for(mu=1;mu<=i;mu++)
printf("%d",a[mu]);
printf("\n");
}
