正题
#include <stdio.h>
int main()
{
double a;//a:数
scanf("%lf",&a);
char a1[32];//用于输出二进制
int i=0;
a1[0]='0';
a1[1]='.';
while(a!=1)
{
a=a*2.0;
if(a>1)
{
a1[i+2]='1';
a=a-1;
}else if(a<1)
{
a1[i+2]='0';
}else if(a==1)
{
a1[i+2]='1';
break;
}
i++;
if(i>31)
{
break;
}
}
if(i>31)
{
printf("error\n");
}
else
{
for(int j=0;j<32;j++)
{
if((a1[j]=='0')|(a1[j]=='1')|(a1[j]=='.'))
printf("%c",a1[j]);
}
}
}