题解 | #进制转换#

进制转换

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;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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