请用一个很简单的C语言程序:十进制转换为二进制。

如题所述

#include "stdio.h"

int main()

{

     int n;

     int i=0,j;

     char str[100]={0};

     char output[100]={0};

     printf("请输入一个整数:");

     scanf("%d",&n);

     while(n)

     {

           str[i]=n%2+'0';

           n=n/2;

           i++;

     }

     for(j=0;j<i;j++)

         output[j]=str[i-1-j];

     printf("该整数的二进制表示为:%s\n",output);

     

 

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-13
十进制转二进制可以使用库函数itoa。
itoa函数原型:char*itoa(int value,char*string,int radix);
功能:将任意类型的数字转换为字符串。在<stdlib.h>中与之有相反功能的函数是atoi。
nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。
参考代码:
#include <stdio.h>
#include<stdlib.h>
int main()
{
int i=10;
char a[100];
itoa(i,a,2);
printf("%s\n",a);
return 0;
}
/*
1010
*/
第2个回答  2020-07-28
代码如下,算得挺准的:
#include<stdio.h>
int main(void){
int n,i,c=0,s[25];
scanf("%d",&n);
for(i=n;i;i-=1){
s[c]=i%2;
c+=1;
}
for(c-=1;c>0;c-=1){
printf("%d",&s[c]);
}
return 0;
}
第3个回答  2013-04-21
#include<stdio.h>
int main()
{
int n,a[1000]={0},j;
scanf("%d",&n);
for(int i=0;n;i++)
{
a[i]=n%2;
n/=2;
j=i;
}
for(j;j>=0;--j)
printf("%d",a[j]);
printf("\n");
return 0;
}
第4个回答  2013-04-21
输出的时候把格式符改下不就行了么-_-#

请用一个很简单的C语言程序:十进制转换为二进制。
output[j]=str[i-1-j];printf("该整数的二进制表示为:%s\\n",output);}

c语言编写一个程序,将十进制整数n 转换成二进制数
printf("请输入一个十进制数:");scanf("%d",&x);printf("转换成二进制数是:%d\\n",transfer(x));}

C语言十进制转换位为二进制
要把一个十进制数转换成二进制数可以这么做: #includestdio.h void main() { int i,n=0,b[16]; scanf("%d

怎样用十进制转换成二进制数呢?
int decimalNum;printf("请输入一个十进制数: ");scanf("%d", &decimalNum);printf("二进制数为: ");decimalToBinary(decimalNum); return 0;} 在这个程序中,decimalToBinary函数将十进制数转换为二进制数,然后在main函数中调用这个函数并输出结果。

C语言中如何用循环实现十进制数转换成二进制数
int num;printf("please input a integer:");scanf("%d",&num);printf("该数转换为二进制为:%s\\n\\n", tentotwo(num));} char *tentotwo(int n){ int i,j=0;int *p, *q, *f;char *s;p = (int *)malloc(32*sizeof(int));s = (char *)malloc(32);q = p;f = (int...

c语言十进制转二进制代码
c语言十进制转二进制一般来说就是指在C语言环境下,实现把十进制转换成二进制,也就是属于一种进制的转换,其原理通常是正整数转换成二进制,采用除二取余,然后倒序排列,高位补零的方式。参考范例:十进制转二进制示例代码一 include stdio.h int main(){ int i, n = 0, b[16];scanf(%d, ...

求用C语言将10进制变为2进制的程序
f2(float c){float b;int d;d=int(c*2);printf ("%d",d);b=c*2-d;if (b!=0)f2(b);} main (){float a,c;int b;printf("十进制数转换二进制数\\n");scanf("%f",&a);printf ("%f=",a);b=int(a);c=a-b;f1(a);printf(".");j=0;f2(c);printf ("\\n");} ...

用C语言写的十进制数转换为二进制数的程序
;else jinzhi(n\/j,j);printf("%d",n%j);} void main(){ int n,j;printf("输入要转换的数,和要转换的进制范围在2-9之间:)";scanf("%d %d",&n,&j);jinzhi(n,j);printf("\\n")l;}递归算法,可以转换任意2-9之间的进制,如果要就100转换为2进制就输入100空格2就可以了 ...

用c语言编程,实现十进制和二进制的相互转化。
void exchange(char *s,int n,int k){ char str[80],str1[80]; int e,m,i; e=( k==2 )?(10):(2); m=0; while ( n ) { str[m]=n%e+'0'; n\/=e; m++; } for ( i=0;i<m;i++ ) str1[i]=str[m-i-1]; str1[i]=0; sprintf(s,"(%s)%d",...

用c语言编写十进制转化二进制
include <stdio.h> void d2n(unsigned long d,int n){ if(d>=n){ d2n(d\/n,n);} printf("%c","0123456789ABCDEF"[d%n]);} int main(){ unsigned long d;int n;scanf("%lu",&d);d2n(d,2);return 0;}

相似回答