C语言中编写一个函数DecToBin(intn,charb[]),该函数用于将十进制整数n转换 为二进制,转换结果以字符串形式存储于字符数组b中。在main函数中,输入一个整数n, 调用DecToBin函数,将十进制整数n转换并输出相应的二进制数。
时间: 2024-05-05 21:19:39 浏览: 122
dec2bin:将十进制数转换为二进制
好的,我来解答这个问题。
首先,我们需要了解将十进制整数转换为二进制的方法。一种常用的方法是“除2取余法”。具体步骤如下:
1. 将十进制整数不断除以2,直到商为0为止,每次记录下余数。
2. 将记录的余数倒序排列,即为该十进制整数的二进制表示。
根据这个方法,我们可以编写一个函数 `DecToBin` 来实现将十进制整数转换为二进制字符串的功能。
```c
void DecToBin(int n, char b[]) {
int i = 0;
while (n > 0) {
b[i] = n % 2 + '0';
n /= 2;
i++;
}
b[i] = '\0';
// 将字符串倒序排列
int len = strlen(b);
for (int j = 0; j < len / 2; j++) {
char temp = b[j];
b[j] = b[len - j - 1];
b[len - j - 1] = temp;
}
}
```
这个函数接受两个参数,一个是十进制整数 `n`,一个是字符数组 `b`,用于存储二进制字符串。在函数中,我们使用了一个 `while` 循环,将 `n` 不断除以2并记录余数,直到商为0为止。然后将记录的余数倒序排列,即可得到二进制字符串。最后,我们在字符串末尾加上一个空字符,表示字符串的结束。
在 `main` 函数中,我们可以输入一个整数 `n`,调用 `DecToBin` 函数,将十进制整数 `n` 转换为二进制字符串,并输出。
```c
int main() {
int n;
char b[100];
printf("请输入一个整数:");
scanf("%d", &n);
DecToBin(n, b);
printf("二进制数为:%s\n", b);
return 0;
}
```
这样,我们就完成了将十进制整数转换为二进制字符串的功能。完整的代码如下:
阅读全文