//对10取余从后往前依次确定末位数,记录,并同时用循环依次乘上10,100,1000…… #include <stdio.h> int main() { int n, x, i, m, sum = 0; while(scanf("%d", &n) != EOF) { for(i=1; n!=0; i=i*10) { m = n % 10; //取余确定末位数 if(m % 2 == 1) x = 1; //j奇数字改为1 else x = 0; //偶数字改为0 n= n / 10; //n去掉末位 sum = sum + x * i; //从个位往前依次求和 } printf("%d\n", sum); } return 0; }