基础练习 十六进制转十进制

问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535

因为没有用long long WA 了两次

AC代码

#include<stdio.h>
#include<string.h>

char a[10];

long long change(int x)        //要用long long 
{
    long long temp = 0;
    
    for(int i = 0; i < x; i++)
    {
        if(a[i] > '9')
            temp = temp*16 + a[i] - 'A' + 10;
        else
            temp = temp*16 + a[i] - '0';
    }
    return temp;
}

int main()
{
    scanf("%s", a);
    int len = strlen(a);

    printf("%lld", change(len));
    
    return 0;
}
永远渴望,大智若愚(stay hungry, stay foolish)
原文地址:https://www.cnblogs.com/h-hkai/p/8401905.html