#include <iostream> #include <string> #include <string.h> #include <math.h> using namespace std; int main(){ int n; int k; int sum = 0; char s[10]; cin >> n; for (int i = 0; i < n; i++){ cin >> s; k = strlen(s); for (int j = 0; j < k; j++){ if (s[j] >= 'A'&&s[j] <= 'F'){ s[j] = s[j] - 55; } else if (s[j] >= '0'&&s[j] <= '9'){ s[j] = s[j] - 48; } sum += (s[j] * pow(16, k - j - 1)); } cout << sum << endl; sum = 0; } return 0; }
2019.04.01水题一:将十六进制数转换成十进制数:Input: 第一行有一个整数T,表示共有T组数据 接下来T行,每一行为一个16进制无符号正整数,位数不超过8位,数中的a-f均为大写字母,数前没有多余的0 。 Output :输出共T行,每一行是一组数据的十进制表示,数字前不得有多余的0。 十进制数小于2^31。Sample Input 4 A F FFFE 10001 Sample Output 10 15 65534 65537
猜你喜欢
转载自www.cnblogs.com/jianqiao123/p/10639918.html
今日推荐
周排行