#include <stdio.h> int main() { long int a = 0; scanf("%ld", &a); int i = 0; int j = 0; int k = 0; int arr1[100]; int arr2[100]; int result = 0; while (a) { arr1[i++] = a % 10; a /= 10; } for (j = i - 1; j >= 0; j--) { arr2[k++] = arr1[j]; } for (i = 0; i < k; i++) { if (arr2[i] % 2 == 0) arr2[i] = 0; else arr2[i] = 1; } for (i = 0; i < k; i++) { result = 10 * result + arr2[i]; } printf("%d", result); return 0; }
思路为:首先把整数的每个数字拆下来放进数组,然后再反转数组,再将数组内的元素依据规则变成0/1,再输出数字。