本题要求实现一个函数,将非负整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序样例: #include <stdio.h> void dectobin( int n ); int main() { int n; scanf("%d", &n); dectobin(n); return 0; } /* 你的代码将被嵌在这里 */
时间: 2023-05-01 08:06:18 浏览: 239
题目要求实现一个函数,将非负整数n转换为二进制后输出。函数接口定义:void dectobin( int n )。建议使用递归实现。
以下是参考测试程序样例:
#include <stdio.h>
void dectobin( int n );
int main() {
int n;
scanf("%d", &n);
dectobin(n);
return 0;
}
/* your code start here */
void dectobin( int n ){
if(n<=1){
printf("%d",n);
return ;
}
dectobin(n/2);
printf("%d",n%2);
}
/* your code end here */
相关问题
本题要求实现一个函数,将非负整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。
递归实现dectobin函数:
void dectobin(int n){
if(n>1) //当n大于1时,递归调用函数
dectobin(n/2);
printf("%d",n%2); //输出n的二进制位
}
主函数中调用:
int main(){
int n;
scanf("%d",&n);
dectobin(n);
return 0;
}
举例说明:当输入n=13时,dectobin函数的调用过程如下:
dectobin(6)
dectobin(3)
dectobin(1)
输出结果为:1101
递归实现十进制转二进制:输入一个正整数 n,将其转换为二进制后输出。要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。试用C语言编写相应程序。
好的,以下是C语言递归实现十进制转二进制的代码:
```c
#include <stdio.h>
void dectobin(int n) {
if (n / 2 != 0) {
dectobin(n / 2);
}
printf("%d", n % 2);
}
int main() {
int n = 10;
printf("%d的二进制为:", n);
dectobin(n);
printf("\n");
return 0;
}
```
在上面的代码中,我们定义了一个`dectobin()`函数来实现递归将十进制数转换为二进制数的功能。首先,我们判断n是否可以被2整除,如果可以,则递归调用`dectobin(n / 2)`函数,这样就能够把n转换成二进制数的高位。然后,我们输出n除以2的余数,这就是n的二进制数的低位。
在`main()`函数中,我们先设置n的值为10,然后调用`dectobin()`函数来转换n为二进制数,并输出结果。
阅读全文