题解 | 小乐乐改数字

小乐乐改数字

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

#include <stdio.h>

int main() {
    char arr1[100];
    int arr2[100];
    int m = 0;
    int start = -1;                    //定义首个非0的起始位置
    scanf("%s",arr1);
    for (int i = 0;arr1[i]!='\0';i++)  //字符串数组取值到\0结束
    {
        arr2[i] = arr1[i] - '0';       //字符串数组到整形数组的转换
        m++;                           //m计算数组的长度
    }
  
    for (int i=0; i<m; i++) 
    {
         int yu = arr2[i]%2;           //判断奇偶变量
         if (yu==0) 
         {
            arr2[i] = 0;               //存储回原数组
         }
         else {
            arr2[i] = 1;         
         }
        //printf("%d",arr2[i]);        //直接打印无法消除00001这种前面的0
      if (arr2[i]==1&&start==-1)       //遇到首个1
      {
        start = i;                     //修改起始位置
      }    
    }
    if (start==-1)                     //遇不到1
    {
        printf("0");                   //打印0
    }
    for (int i=start; i<m; i++) 
    {
        printf("%d",arr2[i]);          //起始位置开始打印
    }

    return 0;
}                      

//感觉自己写的可能难了,但是大家也可以学点东西吧就是说。

全部评论

相关推荐

_mos_:要不是看评论区我都不知道你要找的是数分
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务