题解 | #小乐乐改数字#
小乐乐改数字
https://www.nowcoder.com/practice/fcd30aac9c4f4028b23919a0c649824d
#include<stdio.h> //描述 //小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。 //输入描述: //输入包含一个整数n(0 ≤ n ≤ 10^9) //输出描述: //输出一个整数,即小乐乐修改后得到的数字。 //思路: //创建一个数组存放输入的整数,从后往前倒着存放,即arr[0]存放的是这个整数的个位 //对数组的每个元素进行遍历,将数值是奇数的arr[i]赋值为1;将数值是偶数的arr[i]赋值为0。 //然后将数组中的元素倒着打印,即从arr[i]开始遍历打印直到打印到arr[0] //注意:为了满足题目要求,需要在打印数组内容前,先遍历数组中的元素,找到第一个1再开始按顺序倒着打印。 int main() { int arr[9] = { 0 }; int input = 0; int n = 0; int i = 0; scanf("%d", &input); int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < sz; i++) { arr[i] = input % 10; input = input / 10; } for (i = 0; i < sz; i++) { arr[i] = arr[i] % 2; } for (i = sz - 1; i >= 0; i--) { if (arr[i] != 0) { for (; i >= 0; i--) { printf("%d", arr[i]); } } } return 0; }