怎么用c++写下面的代码?输入一个表示十六进制数据的字符串,将其转换为 十进制数输出,例如,若输入12A,则输出为298。
时间: 2023-05-11 17:04:59 浏览: 43
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char hex[100];
int dec = 0;
int len, i;
printf("请输入一个十六进制数:");
scanf("%s", hex);
len = strlen(hex);
for (i = 0; i < len; i++) {
int digit;
if (hex[i] >= '0' && hex[i] <= '9') {
digit = hex[i] - '0';
} else if (hex[i] >= 'a' && hex[i] <= 'f') {
digit = hex[i] - 'a' + 10;
} else if (hex[i] >= 'A' && hex[i] <= 'F') {
digit = hex[i] - 'A' + 10;
} else {
printf("输入的不是十六进制数!\n");
return 1;
}
dec = dec * 16 + digit;
}
printf("转换后的十进制数为:%d\n", dec);
return 0;
}
```
输入一个十六进制数,然后使用循环遍历每个字符,将其转换为对应的十进制数,最后将所有的十进制数相加即可得到结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)