任务描述
编写函数,函数的参数是整数N,在函数中输出整数N的二进制形式。主函数中输入整数a和b,输出从a到b的所有整数的二进制形式。
输入样例:
10 15
输出样例:
1010
1011
1100
1101
1110
1111
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
思路
使用递归函数Binary(int n)将整数n转换成二进制数。如果n为0,则直接返回;否则先递归调用Binary(n/2),再输出n%2(即n除以2所得余数)。这样能确保每个数字的二进制表示按正确顺序输出。
在主函数main()中,程序首先从用户处获取输入的范围值a和b,然后通过循环遍历范围内的每个整数i,并调用Binary(i)函数进行二进制转换输出。
代码
#include<stdio.h>
void Binary(int n) // 定义一个递归函数Binary,用于将整数转换成二进制数
{
if(n==0)
return; // 如果n已经为0,则直接返回
else
{
Binary(n/2); // 递归调用函数,输入n/2,等待后续输出
printf("%d",n%2); // 输出剩余结果。每个数字对应一位二进制数
}
}
int main( )
{
int a,b;
scanf("%d%d",&a,&b);
for(int i=a;i<=b;i++)
{
Binary(i); // 调用Binary函数将i转换成二进制并输出
printf("\n");
}
return 0;
}