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

问题描述
  从键盘输入一个不超过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;
}

 

posted @ 2018-02-02 00:05  Veritas_des_Liberty  阅读(278)  评论(0编辑  收藏  举报