题解 | #数字颠倒#

数字颠倒

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

数字颠倒:C语言解法

可以分为两种解法

  1. 可以通过 scanf("%s") 把输入的数字当做一个字符串进行接收,然后直接从后向前倒序输出。
#include <stdio.h>
int main()
{
    char str[32] = {0};
    scanf("%s",str);
    //gets(str);
    for(int i=strlen(str)-1;i>=0;i--)
    {
        printf("%c",str[i]);
    }
    printf("\n");
}
  1. 当成数字输入,获得每位并加上'0',然后直接输出
#include<stdio.h>
int main(){
    int num = 0;
    scanf("%d\n",&num);
    if(num == 0) printf("%c",'0');
    while(num != 0){
        printf("%c",num%10+'0');
        num/=10;
    }
    printf("\n");
}

alt

全部评论
数字+'0'相当于数字+上了'0'的ASCII码值,得到的新的ASCII码值代表的是将数字转变成了字符 例如:6+'0'='6' 相当于(6+'0'的ASCII值=6+48=54,54在ASCII表中代表的字符是'6')
8 回复 分享
发布于 2022-02-19 23:32
为什么还要加上'0'?
点赞 回复 分享
发布于 2022-02-15 19:09
你这个数据范围不会溢出吗?
点赞 回复 分享
发布于 2022-07-16 18:40
就是数字0的asc码和字符'0'相差48,+'0'应该和+48一样的吧
点赞 回复 分享
发布于 2022-11-20 19:26 北京

相关推荐

02-23 19:27
门头沟学院 Java
点赞 评论 收藏
分享
kl_我是东山啊:《相关公司:阿里巴巴》
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
分享
数学转码崽:一直给我推,投了又不理,理了又秒挂
点赞 评论 收藏
分享
评论
39
5
分享

创作者周榜

更多
牛客网
牛客企业服务