题解 | #小乐乐改数字#

小乐乐改数字

https://www.nowcoder.com/practice/fcd30aac9c4f4028b23919a0c649824d

#include <stdio.h>
//BC116
int main() 
{
    //输入数字
    long long num = 0;
    scanf("%ld",&num);
    //利用递归函数判断并打印
    int i = 0;
    int arr[100];
    int cnt = 0;//用于判定数组中存了多少数字
    while(num)
    {
        cnt++;
        if(num%10%2==0)
        {
            arr[i++]=0;
        }
        else if(num%10%2!=0)
        {
            arr[i++]=1;
        }
        num/=10;

    }
    int flag = 0;//使用flag来标记
    for(i=cnt-1;i>=0;i--)
    {
        if(arr[i]==1)//直到遇到一次1,flag=1,才打印0
        {
            flag = 1;
            printf("1");
        }
        else if(arr[i]==0)
        {
            if(flag == 1)
            {
                printf("0");
            }
            else if(flag == 0)
            {
                ;
            }
        }
    }
    
    return 0;
}

全部评论

相关推荐

小红书 后端开发 总包n+8w+期权
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务