标题:编写C递归函数,将给定的十进制整数,转换为该数值的二进制表示(32位)
取消只看楼主
billjyc
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-12-15
结帖率:100%
 问题点数:0 回复次数:1 
编写C递归函数,将给定的十进制整数,转换为该数值的二进制表示(32位)
我现在很头疼,转化成二进制容易,但是如何把它变成32位??还得是用递归函数,是要用数组吗?
搜索更多相关主题的帖子: 头疼 二进制 十进制 如何 
2011-12-25 21:59
billjyc
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2011-12-15
得分:0 
回复 楼主 billjyc
如果非要用递归呢,这段代码有什么问题
#include<stdio.h>

void TenToBi(int a,int i);

int main(){
  int b,i=0;

  printf("please input the number you want to transform:\n");
  scanf("%d",&b);

  TenToBi(b,i);

  
}

void TenToBi(int b,int i){
  int d,e,sb[32]={0};

  if(i<=31){
    d=b/2;
    e=b%2;
    sb[i]=e;
    i++;
    TenToBi(d,i);
  }
  else{
    for(i=31;i>=0;i--)
      printf("%d",sb[i]);
  }
}
2011-12-25 22:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-358624-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.756107 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved