习题10-7 十进制转换二进制(15 分)提问

本题要求实现一个函数,将正整数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;
}

/* 你的代码将被嵌在这里 */

输入样例:

10

输出样例:

1010
void dectobin( int n ){
	int result=0;
		
	if(n==0){
		printf("0");
	} else if(n==1){
		printf("1"); 
	}else{		        
		dectobin(n/2); 		 //递归 n=10  10-5-2-1     1-1   2-0  5-1  10-0  1010
		result=n%2;  		
		printf("%d",result); //递归似乎并不像我想的那种顺序进行代码的运算  n先是减小到递归出口
	}                         //然后从1-2-5-10  按减小的顺序增大到10 进行dectobin后的运算  啊啊啊 不清楚了
		
}

猜你喜欢

转载自blog.csdn.net/dreampinguo/article/details/81173314
今日推荐