关于C语言的一道题目,急求解,谢谢
当从键盘输入18时,下面程序的运行结果是?m&in()(intx,y,i,a【8】,j,u,v;scanf(“&d”,&x)y=x;i=0;dou=y/2;a[i]=y%...
当从键盘输入18时,下面程序的运行结果是?
m&in()
(int x,y,i,a【8】,j,u,v;
scanf(“&d”,&x)
y=x;i=0;
do
u=y/2;
a[i]=y%2;
}while(y>=1);
for(j=i-1;j>=0;j- --)
printf(%d,a[j]) 展开
m&in()
(int x,y,i,a【8】,j,u,v;
scanf(“&d”,&x)
y=x;i=0;
do
u=y/2;
a[i]=y%2;
}while(y>=1);
for(j=i-1;j>=0;j- --)
printf(%d,a[j]) 展开
2个回答
展开全部
你的程序有很多处错误
改后:
#include<stdio.h>
main()
{int x,y,i,a[8],j,u;
scanf("%d",&x);
y=x;i=0;
do
{u=y/2;
a[i]=y%2;
}while(y>=1);
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
}
不过没有输出结果,
不知你要表达什么
如果想十进制整数转二进制
那你的代码编写错误了
临时编的
可以通过运行
#include<string.h>
#include<stdio.h>
main()
{
int a,b[80],j=0,i,k;
scanf("%d",&a);
while(a!=0)
{i=a%2;
b[j]=i;
a=a/2;
j++;}
k=j-1;
for(;k>=0;k--)
printf("%d",b[k]);
printf("\n");
}
改后:
#include<stdio.h>
main()
{int x,y,i,a[8],j,u;
scanf("%d",&x);
y=x;i=0;
do
{u=y/2;
a[i]=y%2;
}while(y>=1);
for(j=i-1;j>=0;j--)
printf("%d",a[j]);
}
不过没有输出结果,
不知你要表达什么
如果想十进制整数转二进制
那你的代码编写错误了
临时编的
可以通过运行
#include<string.h>
#include<stdio.h>
main()
{
int a,b[80],j=0,i,k;
scanf("%d",&a);
while(a!=0)
{i=a%2;
b[j]=i;
a=a/2;
j++;}
k=j-1;
for(;k>=0;k--)
printf("%d",b[k]);
printf("\n");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询