编写一个函数实现数制的转换。在主函数中输入一个十进制数,输出相应的十六进制数。要求用数组实现。用C++完成
时间: 2024-05-05 13:19:05 浏览: 86
好的,我理解了你的要求。以下是C语言代码,可以实现从十进制到十六进制的转换。
```
#include <stdio.h>
void conversion(int n){
int i = 0;
char hex[100]; // 存储十六进制的数组
while(n != 0){
int temp = 0;
temp = n % 16;
// 将余数转换为十六进制字符
if(temp < 10){
hex[i] = temp + 48;
}else{
hex[i] = temp + 55;
}
i++;
n /= 16;
}
// 反转数组,得到正确的十六进制表示
for(int j = i - 1; j >= 0; j--){
printf("%c", hex[j]);
}
}
int main(){
int num;
printf("请输入一个十进制数:");
scanf("%d", &num);
printf("相应的十六进制数为:");
conversion(num);
return 0;
}
```
这段代码中,我们先定义了一个 `conversion` 函数,以十进制数为参数,通过不断取模和除法来算出相应的十六进制数,存储在一个字符数组中。在得到十六进制数后,我们将数组反转,以正确表示其大小。
在主函数中,我们先读入一个十进制数,然后调用 `conversion` 函数,并输出得到的十六进制数。
希望这个代码对你有帮助!