图示为题目,
我的代码:
#include <stdio.h>
#include <math.h>
int main()
{
long int a,a1,d,D=0,i=0;
scanf("%ld",&a);
a1=a;
while(a1>0)
{
d=a1%2;
a1=a1/2;
D=D+d*pow(10,i);
i++;
}
printf("%ld\n",D);
D=0;
a1=a;
i=0;
while(a1>0)
{
d=a1%8;
a1=a1/8;
D=D+d*pow(10,i);
i++;
}
printf("%ld\n",D);
return 0;
}
这段在DevC++上一切正常,但是在CodeBlock上在输入5、6等数值是二进制结果会出错。
我的代码:
#include <stdio.h>
#include <math.h>
int main()
{
long int a,a1,d,D=0,i=0;
scanf("%ld",&a);
a1=a;
while(a1>0)
{
d=a1%2;
a1=a1/2;
D=D+d*pow(10,i);
i++;
}
printf("%ld\n",D);
D=0;
a1=a;
i=0;
while(a1>0)
{
d=a1%8;
a1=a1/8;
D=D+d*pow(10,i);
i++;
}
printf("%ld\n",D);
return 0;
}
这段在DevC++上一切正常,但是在CodeBlock上在输入5、6等数值是二进制结果会出错。