题解 | #进制转换#

进制转换

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

#include <stdio.h>

int main() {
    
    char str[10];
    int i = 0;
    int value = 0;
    int sum = 0;
    char ch = getchar();
    while (ch != '\n') {
        str[i++] = ch;
        ch = getchar();
    }
    for (int j = 0; j < i-2; j++) {
        if (str[i-1-j] >= '0' && str[i-1-j] <= '9') {
            value = ((str[i-1-j]-'0')& 0xF)<< (j*4);
        }else if (str[i-1-j] >= 'A' && str[i-1-j] <= 'F') {
            value = ((str[i-1-j]-'A' + 10)& 0xF) << (j*4);
        }
        sum += value;
    }
    printf("%d", sum);
    return 0;
}

全部评论

相关推荐

06-18 15:03
门头沟学院 Java
至少实习看起来比去年好?问了下群里的同学和身边的同学,人均有offer。有的还有好几个大厂offer
菜鸟1973:上一年暑期也是人均大厂实习offer,结果秋招跟不招人一样,大部分都转正了
点赞 评论 收藏
分享
刘湘_passion:太强了牛肉哥有被激励到
点赞 评论 收藏
分享
05-26 16:13
门头沟学院 C++
牢大肘击Java:海投就完事了bro,就当刷视频了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务