本文共 1172 字,大约阅读时间需要 3 分钟。
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入一个十六进制的数值字符串。
输出该数值的十进制字符串。
0xA
10
#include#include #include using namespace::std ;int main() { string input ; string index = "0123456789ABCDEF" ; while ( cin >> input ) { input = input.substr( 2 ) ; double base = input.size() - 1 ; double sum = 0.0 ; for ( int i = 0; i < input.size(); ++ i ) { int tmp = index.find( input[i] ) ; sum += tmp * pow( (double)16, base ) ; -- base ; } cout << sum << endl ; } return 0 ;}
第二次做:
#include#include #include using namespace::std ;int main() { static string index = "0123456789ABCDEF" ; string input ; while ( cin >> input ) { input = input.substr( 2 ) ; double base = input.size() - 1 ; double result = 0.0 ; for ( int i = 0; i < input.size(); ++ i ) { int tmp = index.find( input[i] ) ; result += tmp * pow( (double)16, base ) ; -- base ; } cout << result << endl ; } return 0 ;}
转载地址:http://jrnab.baihongyu.com/