#6153: 跟我測試時答案不一樣!!


dan82625 (資工一乙 傅耀德)


沒道理阿~~

明明自己執行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;    
}                                                                                                   
 

#6154: Re:跟我測試時答案不一樣!!


david942j (文旋)


沒道理阿~~

明明自己執行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[]沒有歸零

多打幾筆測資你就會錯了

#6158: Re:跟我測試時答案不一樣!!


dan82625 (資工一乙 傅耀德)


沒道理阿~~

明明自己執行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哦