#10428: WA求解


dddd1597 (johnson0331)

學校 : 臺北市立內湖高級工業職業學校
編號 : 51316
來源 : [61.216.112.118]
最後登入時間 :
2017-12-31 16:16:44
a034. 二進位制轉換 | From: [103.226.213.197] | 發表日期 : 2015-11-05 10:27

第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

 
#10434: Re:WA求解


snoopy3024 (Irene)

學校 : 國立嘉義大學
編號 : 48117
來源 : [1.173.6.190]
最後登入時間 :
2016-11-20 21:04:11
a034. 二進位制轉換 | From: [120.113.184.121] | 發表日期 : 2015-11-07 14:20

第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include
#include
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

應該跟溢位有關係,小數都對,大一點的數就會錯喔。另外,c=1,d=0;要記得重新計算,下一個數才不會錯。還是建議用遞迴寫比較容易

 
#11265: Re:WA求解


godknow666 (godknow)

學校 : 不指定學校
編號 : 58882
來源 : [114.44.89.209]
最後登入時間 :
2016-08-16 14:18:58
a034. 二進位制轉換 | From: [223.141.239.44] | 發表日期 : 2016-08-13 18:34

第 1 測資點(100%): WA (line:1)
答案不正確

您的答案為: 2510076409
正確答案為: 11100011001

#include
#include
int main()
{
    int a=1,b=1,c=1,d=0;
    while(scanf("%d",&a)!=EOF){
 while(a!=0)
 
 {
 b=a%2;
 a=a/2;
 d=d+b*c;
 c=c*10;
   

printf("%d",d);
}
return 0;}

應該跟溢位有關係,小數都對,大一點的數就會錯喔。另外,c=1,d=0;要記得重新計算,下一個數才不會錯。還是建議用遞迴寫比較容易

妳的C值 少寫了c++; 完全部會動阿= =


另外系統測試時會用超過5000以上的值進行轉換 如果用10次方的寫法會溢出 建議用字串方式轉換避免溢出問題

參考

#include<stdlib.h>

#include<stdio.h>

#include<math.h>

int main()

{

int x ,n = 0;

char y[100] = {0};

while( scanf("%d" ,&x) != EOF)

{

 

 

while (x)

{

 

y[n] = (x%2);

 

x = (x/2);

n++;

 

}

 

while (n)

{

printf("%d" ,y[n-1]);

n--;

}

 

printf("\n");

}

return 0;

}

 
ZeroJudge Forum