题解 | #数字颠倒#

数字颠倒

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

#include <stdio.h>

int main() {
    int num;
    int bits[12];
    int count=0;
    scanf("%d",&num);
    while(num){
        bits[count++]=num%10;
        num=num/10;
    }//按位获取并且保证倒序
    for(int i=0;i<count;i++){
        printf("%d",bits[i]);
    }
    if(count==0) printf("0");
    printf("\n");
    return 0;
}

该题有一个小小的注意点在于对于0这个元素的单独处理,因为其不进入按位的循环,所以如果统一处理那么会导致最后缺少一种情况;

因此需要在最后进行一个单独的判断,如果说计数的时候没有值,说明输出的一定为0,或者直接在最开始对输入的值进行判断是否为0也可以。

全部评论
小贴士:查看题解之后发现,在逆转字符串或者逆转数字的时候并不一定需要在物理内存中真的逆转,只需要满足逻辑上的逆转即可,也就是说,可以在直接在获得末位的同时进行输出printf("%c",(char)(num%10+'0'));
点赞 回复 分享
发布于 2023-01-01 11:40 上海

相关推荐

offer多多的六边形战士很无语:看了你的博客,感觉挺不错的,可以把你的访问量和粉丝数在简历里提一下,闪光点(仅个人意见)
点赞 评论 收藏
分享
Bug压路:老哥看得出来你是想多展示一些项目,但好像一般最多两个就够了😂页数一般一页,多的也就2页;这些项目应该是比较同质化的,和评论区其他大佬一样,我也觉得应该展示一些最拿手的(质量>数量)😁😁😁专业技能部分也可以稍微精简一些
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务