解题思路:本题强调使用递归,而二进制的取法是取余数后倒过来输出。因此实现两个部分一个计算余数并倒过来打印。
问题:本题要求实现一个函数,将正整数n转换为二进制后输出。
函数接口定义:void dectobin( int n );
函数dectobin应在一行中打印出二进制的n。建议用递归实现。
裁判测试程序样例:#include输入样例:void dectobin( int n ); int main() { int n; scanf("%d", &n); dectobin(n); return 0; }
10
结尾无空行
输出样例:1010
结尾无空行
代码如下:
void dectobin(int n) { if (n == 0) printf("0");//递归函数重要组成,结束(边界判定) else if (n == 1) printf("1"); else { dectobin(n/2); printf("%d", n%2);//保证先处理后打印 } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)