为什么这段程序不运行,将十进制正数转化为二进制
#include<stdio.h>main()
{
int y,i=0,t=0,j,k,g=0,m;
int a[10],b[10];
double x,z,s=0.0;
printf("please input the number:\n");
scanf("%f",x);
y=(int)x;
while(y)
{
a[i]=y%2;
i++;
y=y/2;
}
for(j=i;j>=0;j--)
t=10*t+a[j];
printf("the sum1 is %d\n",t);
z=x-(int)x;
for(k=1;k<=20;k++)
{
z=z*2;
b[g]=(int)z;
z=z-(int)z;
g++;
}
while(b[g]==0)
{
g--;
}
for(m=g;m>=0;m--)
s=s*0.1+b[g];
printf("the sum2 is %f\n",s);
}