题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

#include <stdio.h>
#include <string.h>
#include <math.h>
int main() {
    char words[100];
    int sum = 0;
    int words_len = 0;
    fgets(words, sizeof(words), stdin);
    words_len = strlen(words);
    for (int i = 2; i < words_len - 1; i++) {
        if (words[i] >= 'A') {
            sum = sum + (words[i] - '7') * pow(16, (words_len - i - 2));
            // printf("%d", words[i] - '7');
        } else
            sum = sum + (words[i] - '0') * pow(16, (words_len - i - 2));
    }
    printf("%d", sum);
}

需要注意的是,A,B,C,D等字符转数字时,其与‘7’作差正好为10,11,12,13

全部评论

相关推荐

03-14 11:58
门头沟学院 Java
腾讯暑期实习java选手,完全不懂C++,貌似游戏行业都是用C++的而且天美好像在成都,个人比较想去上海或深圳
siestaaaaaa:天美不止在成都,深圳上海都有。 游戏服务器也不全是cpp,至少我们项目是java ,但是工作中什么语言都会用到,比如cpp、lua、py等等,语言本身其实不重要
点赞 评论 收藏
分享
牛客765689665号:没有实习是硬伤,央国企看学历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务