十进制转十六进制 C 语言
#include <stdio.h>
// 函数声明
void decimalToHexadecimal(int decimalNumber);
int main() {
int decimalNumber;
// 获取用户输入的十进制数
printf("请输入一个十进制数: ");
scanf("%d", &decimalNumber);
// 调用函数进行十进制到十六进制的转换并打印输出
printf("十进制数 %d 转换为十六进制为: ", decimalNumber);
decimalToHexadecimal(decimalNumber);
printf("");
return 0;
}
// 函数定义:将十进制数转换为十六进制(迭代版本)
void decimalToHexadecimal(int decimalNumber) {
char hexadecimalNumber[50]; // 用于存储十六进制结果的字符数组
int index = 0; // 数组索引
// 迭代直到十进制数为 0
while (decimalNumber != 0) {
int remainder = decimalNumber % 16;
// 将余数转换为相应的十六进制字符
if (remainder < 10) {
hexadecimalNumber[index++] = remainder + '0';
} else {
hexadecimalNumber[index++] = remainder - 10 + 'A';
}
decimalNumber = decimalNumber / 16;
}