admin管理员组文章数量:1794759
华为
题目链接
www.nowcoder/practice/8f3df50d2b9043208c5eed283d1d4da6?tpId=37&tqId=21228&tPage=1&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
题目描述写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述: 输入一个十六进制的数值字符串。 输出描述: 输出该数值的十进制字符串。示例1
输入复制
0xA 输出复制
10题解:
int l = str.length(); for(int i = l - 1; i >= 2; i--){ if(str[i] <= '9' && str[i] >= '0'){ int idx = str[i] - 48; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'A'){ int idx = 10; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'B'){ int idx = 11; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'C'){ int idx = 12; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'D'){ int idx = 13; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'E'){ int idx = 14; ans += pow(16, l - i - 1) * idx; } else if(str[i] == 'F'){ int idx = 15; ans += pow(16, l - i - 1) * idx; } } return ans; } int main(){ string str; while(cin >> str){ int ans = convert_to_decimal(str); cout << ans << endl; } return 0; }
本文标签: 华为
版权声明:本文标题:华为 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686574562a83495.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论