牛客刷题:BC45 小乐乐改数字(中等)
2024-01-07 19:08:04
自我介绍:一个脑子不好的大一学生,c语言接触还没到半年,若涉及到效率等问题,各位都可以在评论区提出见解,谢谢啦。
该账号介绍:此帐号会发布游戏(目前还只会简单小游戏),算法,基础知识等内容。
文章特点:会将重要步骤和易错点在代码中用注释标示(方便各位理解和定位)
重点:
1.每进行完一次数据替换(若该位为偶数,则变为0,反之为1),位数加一,因此要设置一个n来控制位数的增加(通过不断*=10来控制);
2.需要设置一个变量来记录最后的数据,设置为m,每当数据末尾的数为偶数时,m加0*n,
否则为1*n。
3.用while来控制a的最后一位和n
题目链接:小乐乐改数字_牛客题霸_牛客网 (nowcoder.com)
//BC45 小乐乐改数字(牛客)
int main()
{
int a;
scanf("%d", &a);
int m = 0,n=1;
while (a)
{
if (a % 2 == 0)
m += 0*n;
else
m += 1*n;
a /= 10;
n *= 10;
}
if (a % 2 == 0)
m += 0*n;
else
m += 1*n;
printf("%d\n", m);
return 0;
}
文章来源:https://blog.csdn.net/2301_79293429/article/details/135406772
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!