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