#include<stdio.h>
int main()
{
int t;
printf("enter a number\n");
scanf_s("%d", &t);
while (t != 1)
{
if (t % 2 == 1)
{
t =t - 1;
t /= 2;
printf("1");
}
else
t = t / 2;
printf("0");
};
printf("1");
return 0;
}
1、scanf("%d", &t);
2、else那里两个语句要花括号
3、程序结果是反序输出了,你可以用一个数组,把每次结果存入,最后从数组最后一个输出
#include<stdio.h>
int main()
{
int t,a[16],i=0;
printf("enter a number\n");
scanf("%d", &t);
while (t != 1)
{
if (t % 2 == 1)
{
t =t - 1;
t /= 2;
a[i++]=1;
}
else
{
t = t / 2;
a[i++]=0;
}
};
a[i]=1;
while(i>=0)
printf("%d",a[i--]);
return 0;
}