返回

小乐乐改数字题

发布时间:2022-12-24 20:17:32 312

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

输入描述:

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

输出描述:

输出一个整数,即小乐乐修改后得到的数字。题目来自牛客BC45题

这个题目有几个难点其中之一便是你不知道输入的数字是几位数要想解决这个问题也很简单那便是创建一个字符数组然后使用c语言自带的strlen函数求取长度即可得到输入的数字长度之后运用循环把数字的每一位进行奇偶判断。

#include 
#include
int main()
{
char a[100];
int i=0, j=0;
while ((a[i] = getchar()) != '\n')//这里的意思就是循环输入直到输入到换行键。
{
i++;
}
a[i] = '\0';//因为数组标号从零开始所以最后一个数字会存到i-1处我们必需在最后一个位置处加一个数组结束符号因为接下来要使用strlen函数求长度。
int size = strlen(a);
for (i = 0; i < size; i++)
{
if (a[i] % 2 == 0)
{
a[i] = '0';
}
else
a[i] = '1';
}
for (i = 0; i < size; i++)
{
if (a[i] != 0)
j++;
if (j == 0)
continue;//这里就是将数组中元素为0的值给带出去
printf("%c", a[i]);
}
if (j == 0)//这里代表的就是全为0的数
{
printf("0");
}
return 0;
}

运行结果如图

小乐乐改数字题_数组

还有一种便是运用递归法但由于我现在水平不够暂时无法完成另一种方法。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
#yyds干货盘点#H5与原生APP交互 2022-12-24 19:37:48