Online Judge 輸出超限
阿新 • • 發佈:2018-12-17
在OJ裡輸出超限只會是迴圈輸出沒有結束,因為現實的錯誤有另外一個時間超限
這是問題,下面是我的問題程式碼
#include <stdio.h> int leap(int a) { int r; if(a%100) { if(a%4==0)r=1; else r=0; } else if(a%400==0)r=1; else r=0; return r; } int main() { int a,b,c,days; int tep[12]={0,31,59,90,120,151,181,212,243,273,304,334}; while(scanf("%d %d %d",&a,&b,&c)!=0) { if(leap(a)) { if(b>2)tep[b-1]+=1; days=tep[b-1]+c; } else days=tep[b-1]+c; printf("%d\n",days); } return 0; }
這個程式碼在vc++6.0上執行沒有任何問題,但是在OJ上執行顯示輸出超限
原因是因為在while語句中,是=0,而不是=EOF;
VC可能因為沒有那麼嚴格,所以通過了