沒道理阿~~
明明自己執行1817這個測資時是11100011001
但是傳到上面來他執行是11100000000 = =
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a,c,d,e=100,g,h;
char b[100]={0},f={0};
while(scanf("%d",&a)!=EOF){
c=0;
for(d=0;d<=e;b[d]='\0',d++){}
while(a>0)
{
b[c]=a%2+48;
c++;
a/=2;
}
for(e=0;b[e]!='\0';e++){} //字串長度
for(g=0,h=e-1;g<h;g++,h--) //字串反向
{
f=b[g];
b[g]=b[h];
b[h]=f;
}
printf("%s\n",b);
}
return 0;
}
沒道理阿~~
明明自己執行1817這個測資時是11100011001
但是傳到上面來他執行是11100000000 = =
#include
#include
int main(void)
{
int a,c,d,e=100,g,h;
char b[100]={0},f={0};
while(scanf("%d",&a)!=EOF){
c=0;
for(d=0;d<=e;b[d]='\0',d++){}
while(a>0)
{
b[c]=a%2+48;
c++;
a/=2;
}
for(e=0;b[e]!='\0';e++){} //字串長度
for(g=0,h=e-1;g {
f=b[g];
b[g]=b[h];
b[h]=f;
}
printf("%s\n",b);
}
return 0;
}
你的char b[]沒有歸零
多打幾筆測資你就會錯了
沒道理阿~~
明明自己執行1817這個測資時是11100011001
但是傳到上面來他執行是11100000000 = =
#include
#include
int main(void)
{
int a,c,d,e=100,g,h;
char b[100]={0},f={0};
while(scanf("%d",&a)!=EOF){
c=0;
for(d=0;d<=e;b[d]='\0',d++){}
while(a>0)
{
b[c]=a%2+48;
c++;
a/=2;
}
for(e=0;b[e]!='\0';e++){} //字串長度
for(g=0,h=e-1;g {
f=b[g];
b[g]=b[h];
b[h]=f;
}
printf("%s\n",b);
}
return 0;
}
你的char b[]沒有歸零
多打幾筆測資你就會錯了
for(d=0;d<=e;b[d]='\0',d++){} 這就是把b字串歸0哦