编写程序,输入一个十进制整数,将其变换为二进制后储存在一个字符数组中.....
初学,只学了putchar,getchar,printf,scanf,if语句,goto,while,do--whilefor,break,continue,语句,,,,...
初学,只学了putchar ,getchar ,printf ,scanf ,if 语句,goto ,while ,do --while
for ,break ,continue ,语句,,,,,,,请尽量用以上函数,多谢!!!!!!!!!!
我是说,尽量用以上函数中的几种,别的函数没学,可能看不明白 展开
for ,break ,continue ,语句,,,,,,,请尽量用以上函数,多谢!!!!!!!!!!
我是说,尽量用以上函数中的几种,别的函数没学,可能看不明白 展开
6个回答
展开全部
请输入一个十进制数:
4535
对应的二进制数:
1000110110111请按任意键继续. . .
#include<stdio.h>
#include<stdlib.h>
int getlen(int n)
{
if(n==0||n==1)
return 1;
else
return getlen(n/2)+1;
}
void main()
{
int n,t;
int a [100];
int i;
printf("请输入一个十进制数:\n");
scanf("%d",&n);
t=getlen(n)-1;
for(i=0;i<=t;i++){
a[i]=n%2;
n=n/2;}
printf("对应的二进制数:\n");
for(i--;i>=0;i--)
printf("%ld",a[i]);
system("pause");
}
4535
对应的二进制数:
1000110110111请按任意键继续. . .
#include<stdio.h>
#include<stdlib.h>
int getlen(int n)
{
if(n==0||n==1)
return 1;
else
return getlen(n/2)+1;
}
void main()
{
int n,t;
int a [100];
int i;
printf("请输入一个十进制数:\n");
scanf("%d",&n);
t=getlen(n)-1;
for(i=0;i<=t;i++){
a[i]=n%2;
n=n/2;}
printf("对应的二进制数:\n");
for(i--;i>=0;i--)
printf("%ld",a[i]);
system("pause");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请输入一个十进制数:
4535
对应的二进制数:
1000110110111请按任意键继续.
.
.
#include
#include
int
getlen(int
n)
{
if(n==0||n==1)
return
1;
else
return
getlen(n/2)+1;
}
void
main()
{
int
n,t;
int
a
[100];
int
i;
printf("请输入一个十进制数:\n");
scanf("%d",&n);
t=getlen(n)-1;
for(i=0;i<=t;i++){
a[i]=n%2;
n=n/2;}
printf("对应的二进制数:\n");
for(i--;i>=0;i--)
printf("%ld",a[i]);
system("pause");
}
4535
对应的二进制数:
1000110110111请按任意键继续.
.
.
#include
#include
int
getlen(int
n)
{
if(n==0||n==1)
return
1;
else
return
getlen(n/2)+1;
}
void
main()
{
int
n,t;
int
a
[100];
int
i;
printf("请输入一个十进制数:\n");
scanf("%d",&n);
t=getlen(n)-1;
for(i=0;i<=t;i++){
a[i]=n%2;
n=n/2;}
printf("对应的二进制数:\n");
for(i--;i>=0;i--)
printf("%ld",a[i]);
system("pause");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只写一下这个子程序
DectoBin(unsigned char number)
{
unsigned char BinArray[8];
unsigned char i;
for(i=0:i<8;i++)
{
BinArray[i]=number&0x01;
number=bumber>>1;
}
注意:上面的for是把 数给拆开了,但是是低们在前,高位在后,这个看你具体要求,可以做适当的更改
然后在这里把数组返回回去就可以了....希望 对你有帮助
}
DectoBin(unsigned char number)
{
unsigned char BinArray[8];
unsigned char i;
for(i=0:i<8;i++)
{
BinArray[i]=number&0x01;
number=bumber>>1;
}
注意:上面的for是把 数给拆开了,但是是低们在前,高位在后,这个看你具体要求,可以做适当的更改
然后在这里把数组返回回去就可以了....希望 对你有帮助
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
for(;;)
{
int sum,temp[20],i,j;
char arry[20];
printf("please in[ut a number :");
scanf("%d",&sum);
for(i=0;sum>1;i++) //短除法
{
temp[i]=sum%2;
sum=sum/2;
}
temp[i]=sum;
for(j=0;i>=0;i--,j++) //反转并转换成char
arry[j]=temp[i]+'0';
arry[j]='\0';
printf("%s\n",arry);
}
}
void main()
{
for(;;)
{
int sum,temp[20],i,j;
char arry[20];
printf("please in[ut a number :");
scanf("%d",&sum);
for(i=0;sum>1;i++) //短除法
{
temp[i]=sum%2;
sum=sum/2;
}
temp[i]=sum;
for(j=0;i>=0;i--,j++) //反转并转换成char
arry[j]=temp[i]+'0';
arry[j]='\0';
printf("%s\n",arry);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main(void)
{
int n,i=0,r;
char s[32];
printf("input n:\n");
scanf("%d",&n);
while(n)
{
r=n%2;
s[i++]='0'+r;
n/=2;
}
for(int j=i-1;j>=0;j--)
printf("%c",s[j]);
return 0;
}
int main(void)
{
int n,i=0,r;
char s[32];
printf("input n:\n");
scanf("%d",&n);
while(n)
{
r=n%2;
s[i++]='0'+r;
n/=2;
}
for(int j=i-1;j>=0;j--)
printf("%c",s[j]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询