c语言编写一个程序,将十进制整数n 转换成二进制数
发布网友
发布时间:2022-04-21 03:34
我来回答
共4个回答
热心网友
时间:2022-06-17 18:41
#include <stdio.h>
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
return y;
}
void main()
{
//进制转换函数的声明
int transfer(int x);
int x;
printf("请输入一个十进制数:");
scanf("%d",&x);
printf("转换成二进制数是:%d\n",transfer(x));
}
扩展资料:
c语言书写规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-c语言
热心网友
时间:2022-06-17 18:41
将输出的内容先放置到一个数组中,最后数组反序输出
追问问题是我这个程序本身就存在问题
热心网友
时间:2022-06-17 18:42
#include<stdio.h>
#include<math.h>
int main()
{
int n;
printf("请输入一个十进制的整数\n");
scanf("%d",&n);
int time = 0;
int a = 0;
while(n!=0){
if(n%2==0)
a = a;
if(n%2==1)
a = a + pow(10,time);
time++;
n=n/2;
}
printf("%d",a);
return 0;
}追问还有其他方法吗?我们并没有学过pow啊,看得不咋地懂
追答pow是乘方,第一个参数是底数,第二个参数是指数。math包里面的 这就是一个数学问题,比如我想把123反转,我就把个位的数字乘以10的2次方+十位的数字乘以10的1次方+百位的数字乘以10的0次方,不就得到了321。如果你学过了数组你可以把结果保存在数组然后逆序,这样也可以。
热心网友
时间:2022-06-17 18:42
#include<stdio.h>//十进制数转化为二进制数
void to_binary (int n); //binary n.二进制的;双的
int main ( void )
{
int number;
printf("输入一个整数(输入q退出): \n");
while (scanf("%d",number)==1)
{
printf("二进制形式 :\n");
to_binary(number);
putchar('\n');//打印换行符
printf("输入一个整数(输入q退出): \n");
}
printf("完成");
return 0;
}
void to_binary(int n)
{
int r;
r=n%2;
if(n>=2)
to_binary(n/2);
putchar('0'+r); //'0'是字符,此语句可写成putchar( r ? '1' : '0');
return 0;
}
c语言编写一个程序,将十进制整数n 转换成二进制数
int transfer(int x);int x;printf("请输入一个十进制数:");scanf("%d",&x);printf("转换成二进制数是:%d\n",transfer(x));}
编写一个程序,将一个十进制整数n 转换成二进制数,要求从低位到高位输...
include <stdio.h> int main() { int n; scanf("%d",&n); while(n) { printf("%d",n % 2); n /= 2; } }
C语言:将输入的十进制正整数n转换为二进制数,并将转换结果输出,转换...
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。2、定义变量和数组:#include <stdio.h>#include <string.h>void main(){ long t1;int i, n, t, t3;char a[100]。3、 输入字符: printf("请输入字符:\n"); gets(a); /*输入n进制数存到数组a中*/strupr(a); /*将...
C语言,使用数组,编写一个十进制正整数转换为二进制数的转换工具_百度知 ...
C语言程序如下:include<stdio.h> int main(){ int N,i,t;int a[100];scanf("%d",&N);for(i=0;N!=0;i++){ a[i]=N%2;N=N/2;} for(t=i-1;t>=0;t--){ printf("%d",a[t]);} } 思路:反复地将n除以2取余数;将取出的余数用数组存放;由于先取出的是低位数据,后取...
程序设计:此程序功能将输入的十进制整数num(num<=65535)转换为二进制...
C语言程序:include <stdio.h>void wwjt();/***十进制数转成二进制数的字符串int number 要转换的十进制正整数char str[] 存放二进制数的字符串***/void fun(int number, char str[]) {/***Program***/int i = 0;int j;while(number > 0){str[i++] = number % 2 + '0';nu...
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语言编程题,将十进制转换为二进制
/*2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。*/ #include <stdio.h> int a[8]; int main() { int n,j; void binary(int n); printf("please input the number:"); scanf("%d",&n); printf("the number you want to transform:"); scanf("%... 展开 demax...
用C语言编写一个程序:将一个十进制的数转化成一个二进制的数,并且要用...
include<stdio.h> void change(int x){ if (x<=1){ printf("%d",x);return;} change(x>>1);printf("%d",x&1);} int main(){ scanf("%d",&n);change(n);}
怎样用十进制转换成二进制数呢?
在C语言中,可以使用以下代码将十进制数转换为二进制数:include <stdio.h> void decimalToBinary(int n) { int binaryNum[32];int i = 0;while (n > 0) { binaryNum[i] = n % 2;n = n / 2;i++;} for (int j = i - 1; j >= 0; j--) { printf("%d", binaryNum[j...
求助C语言,把一个十进制数转换成二进制数,要求用到移位,运算与,或之 ...
根据你的要求,我写了个,感觉应该能满足你要求 include <stdio.h> int main(){ int a,i,n;printf("输入q退出,或者回车键继续\n");while(getchar()!='q'){ printf("请输入一个10进制整数\n");scanf("%d",&a);getchar();i=31;n=0x40000000;while (i-->0){ printf("%d",(n&...