2008年7月28日 星期一

這是Bug嗎?

最近在家待業的時候會到ACM上面寫寫簡單的問題。
為了讓自己重拾寫程式的熱情,以及Bug找不了出來時想摔鍵盤的感覺。
結果今天想Submit第579題的時候,不小心打錯題號成479。
就在罵自己白痴的時候...居然得到Accept! =.=a
經過試驗之後發現真的是如此,最玄的是兩個問題的output完全不一樣。
附上579的code,有興趣的人可以試試。

#include < stdio.h >
#include < string.h >
#include < math.h >

char str[1000];
int i,j;

int main(){
while(scanf("%s",str)!=EOF){
float H;
float M=0;
float Ag;

if (str[1]!= ':' ){
M = atoi(&str[3]);
str[2]='\0';
H = atoi(str);
}
else {
M = atoi(&str[2]);
str[1]='\0';
H = atoi(str);
}
if (H==0 && M==0) break;
if (H>=12) H=0;

Ag = fabs( (float)(H*30)+(float)(M/2) - (float)M*6 );

if (Ag >= 180) Ag = 360 - Ag;

printf("%.3f\n",Ag);
}
}

2 則留言:

t@c0 提到...

十分有趣。
畢業到現在還是每隔一鎮子(表示在工作與摸魚之間輪替^^)就會debug到快抓狂。最近發現以前寫來讓foxy自動搜尋的小工具在foxy更新版本後居然不能用,找了一天終於找到令人吐血的bug --> 新版foxy因為要顯示的東西太多,所以在介面顯示上會delay,我在每個動作間加上Sleep()就解決了@@

Miles MH Chen 提到...

這種bug真是太炫了 XD