c语言,输入十进制整数,输出其对应二进制。由于十进制转换为二进制的过程,低位先得出,故允许低位先输出,如十进制8转换为二进制是1000,允许输出为0001
时间: 2023-05-29 17:04:58 浏览: 75
以下为C语言代码实现:
```c
#include <stdio.h>
int main() {
int decimal, binary[32];
int i = 0;
printf("请输入一个十进制整数:");
scanf("%d", &decimal);
if (decimal == 0) { // 特判十进制数为0的情况
printf("0");
} else {
while (decimal != 0) { // 转换为二进制
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
for (int j = i - 1; j >= 0; j--) { // 输出二进制数
printf("%d", binary[j]);
}
}
return 0;
}
```
代码说明:
1. 定义整型变量`decimal`存储输入的十进制数,整型数组`binary`存储转换后的二进制数,整型变量`i`记录二进制数的位数;
2. 使用`scanf()`函数从标准输入(键盘)读入一个整数,存储在`decimal`变量中;
3. 特判十进制数为0的情况,直接输出0;
4. 将十进制数转换为二进制数,使用循环求余法,每求得一个余数就将其存储到`binary`数组中,然后将十进制数除以2,直到十进制数为0为止;
5. 循环输出`binary`数组中的元素,即为二进制数,注意要从高位到低位输出,因此循环变量`j`的初始值为`i-1`,结束条件是`j>=0`,每次循环`j`减1。
阅读全文