题目描述

小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。
如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。

请在这里输入引用内容

输入描述:

输入包含一个整数n (0 ≤ n ≤ 109)

请在这里输入引用内容

输出描述:

输出一个整数,即小乐乐修改后得到的数字。

解题思路
将输入读取为字符串,判断如果是偶数则为0,奇数为1,最后输出,但是要判断第一个1出现的位置。

代码
#include<iostream>
#include<string>

using namespace std;

int main()
{
    char c[10] = {};//将数字读为字符char
    cin >> c;
    int n = strlen(c);//长度
    for (int i = 0; i < n; i++)
    {
        if (c[i] % 2 == 0)//偶数为0
            c[i] = '0';
        else 
            c[i] = '1';奇数为1
    }
    int f = 0;            //做标记,找出第一个1的位置
    for (int i = 0; i < n; i++)
    {
        if (c[i] != '0')
            ++f;//不等于0就继续向前
        if (f == 0)
            continue ;
        cout << c[i];
    }
    
    if (f == 0)            //输出一个零,或者非零后的所有数字
        cout << '0' << endl;

    cout << endl;
}