c语言编程将输入的十进制整数转换为二进制字符串输出
时间: 2024-02-03 19:14:42 浏览: 220
可以使用以下方法将输入的十进制整数转换为二进制字符串:
1. 将输入的十进制整数除以2,得到商和余数。
2. 将余数存储在一个字符数组或字符串中。
3. 将商作为下一次计算的输入。
4. 重复步骤1-3,直到商为0。
5. 反转字符数组或字符串,得到二进制字符串。
以下是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
int decimal;
char binary[32];
int i = 0;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
while (decimal != 0) {
int remainder = decimal % 2;
binary[i++] = remainder + '0';
decimal /= 2;
}
binary[i] = '\0';
printf("Binary equivalent: %s\n", strrev(binary));
return 0;
}
```
在上面的程序中,我们使用了两个变量:`decimal` 存储输入的十进制整数,`binary` 存储转换后的二进制字符串。我们还定义了一个整数变量 `i`,用于追踪 `binary` 数组中下一个可用的位置。
在主函数中,我们首先提示用户输入一个十进制整数,并使用 `scanf()` 函数将其读入 `decimal` 变量中。接下来,我们使用一个循环来将 `decimal` 转换为二进制字符串。在每个循环迭代中,我们计算 `decimal` 的余数并将其存储在 `binary` 数组中。我们还将 `decimal` 的值除以2,以便在下一次迭代中使用商作为输入。
循环结束后,我们在 `binary` 数组的末尾添加一个空字符 (`'\0'`),以便将其转换为一个字符串。最后,我们使用 `strrev()` 函数将 `binary` 字符串反转,并将其打印输出。
阅读全文