输入一个十六进制字符串,将其转换为对应的十进制。

#include <stdio.h>

void main() {
    char s[10];
    int i, n;
    gets(s);
    for (n = i = 0; s[i] != '\0'; i++) {
        if (s[i] >= '0' && s[i] <= '9')
            n = n * 16 + s[i] - '0';
        if (s[i] >= 'a' && s[i] <= 'z')
            n = n * 16 + s[i] - 'a' + 10;
        if (s[i] >= 'A' && s[i] <= 'Z')
            n = n * 16 + s[i] - 'A' + 10;
    }
    printf("%d", n);
}

猜你喜欢

转载自blog.csdn.net/qq_38490457/article/details/105868765