求任意给定十进制整数的二进制数 注意一定要用函数实现它们,不能只有main函数用c语言实现
时间: 2023-06-14 16:03:42 浏览: 82
可以使用以下函数实现:
```c
#include <stdio.h>
#include <stdlib.h>
void decimalToBinary(int n) {
if(n == 0) {
printf("0");
return;
}
int binaryNum[32];
int i = 0;
while(n > 0) {
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
for(int j = i-1; j >= 0; j--) {
printf("%d", binaryNum[j]);
}
}
int main() {
int n;
printf("Enter a decimal number: ");
scanf("%d", &n);
printf("Binary equivalent: ");
decimalToBinary(n);
return 0;
}
```
此程序中的 `decimalToBinary` 函数将一个十进制整数转换为二进制数,并将其打印出来。它的实现如下:
1. 首先检查输入的整数是否为0,如果是,则直接打印0并返回;
2. 创建一个整数数组 `binaryNum`,用于存储二进制数的各个位;
3. 对于输入的整数 `n`,不断取余并除以2,将余数存储在数组 `binaryNum` 中;
4. 在循环结束后,从数组的最高位开始逆序打印出数组中的所有元素,即为该整数的二进制表示。
阅读全文