题解 | 小乐乐改数字
小乐乐改数字
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;
}
//感觉自己写的可能难了,但是大家也可以学点东西吧就是说。
查看14道真题和解析