2011-02-06 57 views
2

這是我工作的問題:http://www.codechef.com/problems/HS08TEST/CodeChef#3,簡單,也能收到錯誤的答案

這是我的解決方案:

#include <stdio.h> 

int main (void) { 
     int withdraw_i; 
     float balance_i; 

     scanf("%d %f", &withdraw_i, &balance_i); 

     if(withdraw_i % 5 == 0) { 
       if(withdraw_i <= balance_i) { 
         float result = balance_i - withdraw_i - 0.5; 
         printf("%.2f", result); 
       } 
       else { 
         printf("%.2f", balance_i); 
       } 
     } 
     else { 
       printf("%.2f", balance_i); 
     } 
     return 0; 
} 

(在C) 它完全適用於頁面上顯示的測試,但是,當我提交它時,我仍然不斷收到錯誤「錯誤的答案」,發生了什麼事?

+1

不要爲錢使用浮點數! – Svante 2011-02-06 16:39:51

回答

1

這是因爲您沒有正確實施此測試的條件。嘗試一下「300 300」。

1

應該

if(withdraw_i+0.5 <= balance_i) 
+0

非常感謝:) – 2011-02-06 16:20:27