用C语言编写以下程序,使用数组和循环语句,实现十进制转换为二进制/八进制 /十六进制
#include <stdio.h>
void decimalToBinary(int n) {
int binary[32];
int i = 0;
while (n > 0) {
binary[i] = n % 2;
n /= 2;
i++;
}
printf("二进制为:");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
}
void decimalToOctal(int n) {
int octal[32];
int i = 0;
while (n > 0) {
octal[i] = n % 8;
n /= 8;
i++;
}
printf("八进制为: ");
for (int j = i - 1; j >= 0; j--) {
printf("%d", octal[j]);
}
printf("\n");
}
void decimalToHexadecimal(int n) {
char hexadecimal[32];
int i = 0;
while (n > 0) {
int remainder = n % 16;
if (remainder < 10) {
hexadecimal[i] = remainder + '0';
} else {
hexadecimal[i] = remainder + 'A' - 10;
}
n /= 16;
i++;
}
printf("十六进制为: ");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hexadecimal[j]);
}
printf("\n");
}
int main() {
int decimal;
printf("请输入十进制数: ");
scanf("%d", &decimal);
decimalToBinary(decimal);
decimalToOctal(decimal);
decimalToHexadecimal(decimal);
return 0;
}