请用一个很简单的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
输出的时候把格式符改下不就行了么-_-#

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网