题解 | #小乐乐改数字#

小乐乐改数字

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

#include <stdio.h>

int main() {
    int count=0,arr[9],n,result=0;//根据范围创建数组用于存放奇数和偶数赋值后的值
    scanf("%d",&n);
    while(n!=0)//终止条件-->n/10最终得到一个一位数,再次/10后变成0,故此终止条件为n!=0.
    {
        if(n%10%2==0){
            arr[++count]=0;//此处使用前置加加,则说明最低位数变化后的值存放在最后一个数组下标的位置,也可用后置加加
        }
        else{
            arr[++count]=1;
        }
        n/=10;
    }
    int i;
    for(i=count;i>=1;i--){//反向输出数组中存储的值即为原数变化后的顺序
        result=result*10+arr[i];
    }
    printf("%d",result);
    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务