pta十进制转换二进制C语言编写一个函数,其参数是一个整数N,返回值也是一个整数(假设是R),规则是整数R写出来(输出出来)是N的二进制形式。例如:参数是15,返回值应是1111。主函数中输入若干组整数,依次输出其二进制形式。
时间: 2024-12-23 21:18:11 浏览: 2
C语言程序设计-将两个两位数的正整数a、b合并形成一个整数放在c中;合并的方式是
5星 · 资源好评率100%
在C语言中,你可以创建一个名为`decimalToBinary`的函数来将十进制整数转换成二进制字符串。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,用于将十进制整数转换为二进制字符串
char* decimalToBinary(int n);
int main() {
int num;
printf("Enter a series of integers to convert to binary:\n");
while (scanf("%d", &num) == 1) {
char* binary = decimalToBinary(num);
printf("The binary representation of %d is: %s\n", num, binary);
free(binary); // 注意释放内存
}
return 0;
}
// 实现十进制转二进制的函数
char* decimalToBinary(int n) {
static char binary[33]; // 存储结果的空间大小,最多支持32位整数加一位符号位
int i = 0;
if (n == 0) {
binary[i++] = '0'; // 对于0,直接写0
} else {
while (n > 0) {
binary[i++] = n % 2 + '0'; // 取余并转换为字符
n /= 2; // 整除2
}
}
binary[i] = '\0'; // 添加结束符
// 由于数组是从右向左填充的,所以需要反转字符串
for (i = 0; i < strlen(binary) / 2; i++) {
char temp = binary[i];
binary[i] = binary[strlen(binary) - i - 1];
binary[strlen(binary) - i - 1] = temp;
}
return binary;
}
```
在这个程序中,`decimalToBinary`函数首先检查输入是否为0,然后通过循环不断取余并将结果添加到字符串中,最后反转字符串以便得到正确的二进制顺序。
阅读全文