解题思路:

变量定义: n:输入整数,ret:修改后得到的数字,i:当前次方数,w:当前位

先取个位判断奇偶,奇数赋值1,偶数赋值0, 然后累加 w * pow(10, i++) 的乘积,因为i开始初始化为0,且10的0次方为1,w * pow(10,0)就等于当前 w * 1 = w, 之后i++, n/=10取下一位,依次类推。


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;
}