本题要求实现一个函数,将正整数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;
}
/* 你的代码将被嵌在这里 */
我的答案:
void dectobin(int n)
{
int result = 0;
if (n == 0)
{
printf("0");
}
else if (n == 1)
{
printf("1");
}
else
{
dectobin(n / 2);//这里用到了递归
result = n % 2;
printf("%d", result);
}
}
这里要注意对递归的理解
这里如果n没有对于0,1的话
会一直递归
直到n等于0或1才停止
最后输出是从较小的n向较大n顺序输出的
本文介绍了一个使用递归算法将正整数转换为二进制表示的方法。通过递归调用自身处理整数除以2的商,直至商为0或1,然后输出每次操作的余数,实现了从高位到低位的二进制转换。

5284

被折叠的 条评论
为什么被折叠?



