输入1 个正整数n,将其转换为二进制后输出。
输入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");
}
}
/*---------*/ 展开
程序源码如下:
#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 );
}
{
int a;
if(x==0){
return 0;
}
else{
a=x%2;
x/=2;
dectobin(x);
printf("%d",a);
}
}
2013-03-29
{
int r;
r=n%2;
if(n>=2)
dectobin(n/2);
putchar('0'+r);
}