编写程序:编写一个函数,将十进制转化为十六进制,在主函数实现输入和输出
时间: 2024-03-10 22:51:22 浏览: 30
以下是一个将十进制转换为十六进制的函数和一个示例主函数:
```c++
#include <iostream>
#include <string>
using namespace std;
string decimalToHex(int num) {
string hex = "";
int remainder;
while (num > 0) {
remainder = num % 16;
if (remainder < 10) {
hex = char(remainder + 48) + hex;
} else {
hex = char(remainder + 55) + hex;
}
num /= 16;
}
return hex;
}
int main() {
int decimal;
cout << "Enter a decimal number: ";
cin >> decimal;
string hex = decimalToHex(decimal);
cout << "The hexadecimal representation of " << decimal << " is " << hex << endl;
return 0;
}
```
该程序首先定义了一个将十进制转换为十六进制的函数`decimalToHex`。该函数使用了一个while循环,每次将余数添加到十六进制字符串的开头,直到十进制数为0。在添加余数时,如果余数小于10,则将其转换为字符并添加到字符串中,否则将其转换为大写字母并添加到字符串中。
主函数首先提示用户输入一个十进制数,然后使用`cin`输入该数。然后将该数传递给`decimalToHex`函数,将返回的十六进制字符串赋值给变量`hex`。最后,程序将输出原始的十进制数和转换后的十六进制字符串。