C语言进制转换:十进制转八进制和十六进制
以下是使用C语言编写的程序,用于输入一个十进制负数或正数,并依次输出该数的八进制和十六进制表示:
#include <stdio.h>
int main() {
int decimalNum;
printf('请输入一个十进制数:');
scanf('%d', &decimalNum);
if (decimalNum >= 0) {
printf('该数的八进制表示为:%o\n', decimalNum);
printf('该数的十六进制表示为:%x\n', decimalNum);
} else {
printf('该数的八进制表示为:-%o\n', -decimalNum);
printf('该数的十六进制表示为:-%x\n', -decimalNum);
}
return 0;
}
在这个程序中,我们首先声明一个整型变量decimalNum来存储用户输入的十进制数。然后,使用printf函数提示用户输入一个十进制数,并使用scanf函数将用户输入的值存储到decimalNum变量中。
接下来,我们使用一个条件语句来判断输入的数是正数还是负数。如果输入的数大于或等于0,则直接使用printf函数和格式化转换符%o和%x输出decimalNum的八进制和十六进制表示。如果输入的数小于0,则取其相反数(负负得正),并在输出时加上负号(-),然后使用printf函数和格式化转换符%o和%x输出。
最后,程序通过return 0;语句结束并返回0,表示程序正常执行完毕。
编译并运行这段代码后,你将能够输入一个十进制负数或正数,并得到相应的八进制和十六进制表示。请注意,如果输入的是负数,输出的表示形式将在前面加上负号(-)以表示负数。
原文地址: http://www.cveoy.top/t/topic/bzjI 著作权归作者所有。请勿转载和采集!