码迷,mamicode.com
首页 > 编程语言 > 详细

C语言将十进制数转化为二进制(递归,规定位数)

时间:2017-04-19 10:19:49      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:--   fine   ber   number   定义   include   数组初始化   scan   ret   

/*运用递归算法*/

#include<stdio.h>
void B(int n)   //定义函数
{
 if (n != 0)
 {
  printf("%d",n%2);
  B(n / 2);
 }
}
int main()
{

 int n;
 printf("Input number:");

 scanf("%d",&n);

  printf("输出二进制:");

 B(n);   //在B()函数里打印二进制数
 return 0;
}

/*定义数组并使用do{}while();进行赋值*/

#include<stdio.h>
int main()
{
 int a;
 char s[20];
 int i = 0, rem;
 printf("Input number:");
 scanf("%d", &a);
 do
 {
  rem = a % 2;

  a = a / 2;
  s[i] = rem;
  i++;
 } while (a != 0);
 printf("输出二进制:");
 while (i > 0)
  printf("%d", s[--i]);//

  return 0;
}

/*该代码可以实现固定输出位数*/

#include<stdio.h>
#define N 32  //固定位数
int main()
{
 int arr[N] = {0};//将数组初始化为0(位数不满时,将输出0填补)
 int i;
 int n;
 printf("Input number:");
 scanf("%d",&n);
 for (i = N-1; i >=0; i--)  //对数组从后往前赋值
 {
  arr[i] = n % 2;
  n = n / 2;
 }

 printf("输出二进制:");
 for (i = 0; i <= N - 1; i++)
 {
  printf("%d",arr[i]);
 }
 return 0;
}

C语言将十进制数转化为二进制(递归,规定位数)

标签:--   fine   ber   number   定义   include   数组初始化   scan   ret   

原文地址:http://www.cnblogs.com/didiaoxiaoguai/p/6731310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!