level 1
朱雀の啼鳴
楼主
#include <stdio.h>
#include <stdlib.h>
int main()
{
int dN;
int i;
int rem[1000];
int dN1;
int a;
printf("Please enter a positive decimal number:");
scanf("%d",&dN);
dN1=dN;
for(i=0;dN>1;i++)
{
rem[i]=dN%2;
dN=dN/2;
}
rem[i+1]=dN;
printf("The binary number of %d is ",dN1);
for(a=i+1;a>=0;a--)
{
printf("%d",rem[a]);
}
return 0;
}
这是一个10进制数转2进制的程序,
经测试最后那个a=i+1时会出错,a会等于一个很奇怪的数,导致rem[a]项出错。
求解。。。
2012年04月25日 10点04分
1
#include <stdlib.h>
int main()
{
int dN;
int i;
int rem[1000];
int dN1;
int a;
printf("Please enter a positive decimal number:");
scanf("%d",&dN);
dN1=dN;
for(i=0;dN>1;i++)
{
rem[i]=dN%2;
dN=dN/2;
}
rem[i+1]=dN;
printf("The binary number of %d is ",dN1);
for(a=i+1;a>=0;a--)
{
printf("%d",rem[a]);
}
return 0;
}
这是一个10进制数转2进制的程序,
经测试最后那个a=i+1时会出错,a会等于一个很奇怪的数,导致rem[a]项出错。
求解。。。