#include <stdio.h> int main() { int n = 0; scanf("%d", &n); int ret = 0; int i = 0; while (n) { int w = n % 10; if (0 == w % 2) { w = 0; } else { w = 1; } ret += w * pow(10, i++); n /= 10; } printf("%d\n", ret); return 0; }
还有一种更优美的写法来自于作者“西西西西西西西”,主要是两点:第一是在拆分的时候就直接处理0/1,第二是对pow函数的漂亮使用,这样就可以不用再使用数组来逆序了。