生成新数问题(只剩下奇数)
【题目描述】编写函数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; }
不知道自己错在哪里了,所以添加了其他输出。刚刚练习指针,不知道在这程序中指针用的地方恰当不恰当。
望指点,谢谢