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


dan82625 (資工一乙 傅耀德)

學校 : 正修科技大學
編號 : 21988
來源 : [122.117.231.156]
最後登入時間 :
2022-12-07 11:57:27
a034. 二進位制轉換 | From: [125.228.252.20] | 發表日期 : 2011-12-10 21:49

沒道理阿~~

明明自己執行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 (文旋)

學校 : 臺北市立成功高級中學
編號 : 6086
來源 : [115.43.75.16]
最後登入時間 :
2017-02-18 13:17:39
a034. 二進位制轉換 | From: [182.235.181.182] | 發表日期 : 2011-12-11 16:48

沒道理阿~~

明明自己執行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 (資工一乙 傅耀德)

學校 : 正修科技大學
編號 : 21988
來源 : [122.117.231.156]
最後登入時間 :
2022-12-07 11:57:27
a034. 二進位制轉換 | From: [120.118.153.177] | 發表日期 : 2011-12-12 17:27

沒道理阿~~

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

 
ZeroJudge Forum