网上服务大厅12333北京seo百度推广
本题要求实现一个函数,将正整数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顺序输出的