输入1 个正整数n,将其转换为二进制后输出。

输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入1个正整数n,将其转换为二进制后输出。要求定义并调用函数dectobin(n),它的功... 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入1 个正整数n,将其转换为二进制后输出。要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。
例如,调用dectobin(10),输出1010。
输出语句:printf("%d");
例:括号内是说明
输入:
3 (repeat=3)
15
100
0
输出:
1111
1100100
0
#include "stdio.h"
int main(void)
{
int ri,repeat;
int i,n;
void dectobin(int n); scanf("%d",&repeat);
for(ri=1;ri<=repeat;ri++){
scanf("%d",&n);
dectobin(n);
printf("\n");
}
}
/*---------*/
展开
 我来答
珈蓝惜梦qF
2020-01-12 · TA获得超过654个赞
知道答主
回答量:33
采纳率:0%
帮助的人:1.3万
展开全部

程序源码如下:

#include "pch.h"

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <math.h>

using namespace std;

void dectobin(int n) {//转换二进制函数

 int in = n / 2;

 int out = n % 2;

 if (n == 0) {

  return;

 }

 dectobin(in);//进行递归

 printf("%d", out);

}

void main() {

 int m;  // 输入的整数 

 scanf("%d", &m);

 dectobin(m);//调用函数

 return;

}

程序运行结果如下:



扩展资料:

其他实现方法

#include<stdio.h>

int main()

{

 int num, a[20], i = 0;

 printf("Input a number:");

 scanf("%d", &num);

 while (num < 0)

  exit(0);

 while (num != 0)

 {

  a[i] = num % 2;

  num = num / 2;

  i++;

 }

 i--;

 while (i >= 0)

 {

  printf("%d", a[i]);

  i--;

 }

 return 0;

}



匿名用户
2013-03-30
展开全部
用了递归的方法来实现这个函数.
#include< stdio.h >int main(void)
{
int ri,repeat;
int i,n;
void dectobin( int n );

scanf( "%d", &repeat ); for( ri = 1; ri <= repeat; ri++ )
{
scanf("%d",&n);
dectobin(n);
printf("\n");
}
} void dectobin( int n )
{
if( n > 1 )
dectobin( n / 2 );

printf( "%d", n % 2 );
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
母金钊
推荐于2017-12-17
知道答主
回答量:39
采纳率:100%
帮助的人:13.7万
展开全部
int dectobin(int x)
{
int a;
if(x==0){
return 0;
}
else{
a=x%2;
x/=2;
dectobin(x);
printf("%d",a);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户08448
2017-12-17
知道答主
回答量:11
采纳率:0%
帮助的人:1万
展开全部
短除法除二倒去余(递归法(要循环))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-29
展开全部
void dectobin(int n)
{
int r;
r=n%2;
if(n>=2)
dectobin(n/2);
putchar('0'+r);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式