#include <stdio.h> //BC116 int main() { //输入数字 long long num = 0; scanf("%ld",&num); //利用递归函数判断并打印 int i = 0; int arr[100]; int cnt = 0;//用于判定数组中存了多少数字 while(num) { cnt++; if(num%10%2==0) { arr[i++]=0; } else if(num%10%2!=0) { arr[i++]=1; } num/=10; } int flag = 0;//使用flag来标记 for(i=cnt-1;i>=0;i--) { if(arr[i]==1)//直到遇到一次1,flag=1,才打印0 { flag = 1; printf("1"); } else if(arr[i]==0) { if(flag == 1) { printf("0"); } else if(flag == 0) { ; } } } return 0; }