#include<stdio.h>
#include<math.h>
int main()
{
    //输入一个数字
    long long  n=0;
    long long n1=0;
    scanf("%lld",&n);
    int single=0;
    int count=0;
    int mid=0;
    //取出每一位 /10 %10 --> n<9
    while(n>9) 
    {    
        single=n%10;//取位  
        n= n/10;//缩小     
        if(single % 2==0)
        single=0;
        else   
        single =1;  
        count++;    
        //合成新的数字
        mid=mid+single*pow(10,count-1);
    }
    if(n%2==0)
    n=0;
    else
    n=1;
    n1=n*pow(10,count)+mid;  
    printf("%lld\n",n1);
    return 0;
}

新手用递归用不好在222221这组判定时,输出000001。很苦恼,递归没学扎实,果断放弃用递归思路去解题。面向结果化的编程很费时间。哈哈,还得加油!!