生成新数问题(只剩下奇数)
【题目描述】编写函数Fun,其功能是:将整数n各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数。
【输入】
仅一行。一个整数n(0<n≤100000000)。
【输出】
仅一行。一个整数,表示组成的新数。
输入显示:
27638496↵
输出显示:
739↵
-------------------------------------------------------------------------------------------------------------------
以下是自己写的程序,
程序代码:#include<stdio.h>
#include<math.h>
int num1(int a)
{
int i,o;
o=a;
for(i=0; o>1; i++)
o=o/10;
printf("number=%2d\n",i);
return i;
}
int Fun(int *pn)
{
int a=*pn;
int num=num1(a);
int i,o,j=0,n=-1,m;
for(i=0; i<num; i++)
{
o=a%10;
a=a/10;
if(o%2!=0)
{
n++;
j=j+o*pow(10,n);
printf("o=%d j=%d\n",o,j);
}
}
*pn=j;
}
int main()
{
int n;
scanf("%d", &n);
Fun(&n);
printf("%d\n", n);
return 0;
}
不知道自己错在哪里了,所以添加了其他输出。刚刚练习指针,不知道在这程序中指针用的地方恰当不恰当。
望指点,谢谢









~
