#21765: C++ 自己跑可以成功運作也可跳出 但給系統測卻一直TLE 求解


vincent5538@gmail.com (EE)


#include <iostream>

using namespace std;

int main(){

    int year=0;

    

    cin>>year;

    

    while(year!=EOF){

        if((year%400==0)||((year%4==0)&&(year%100!=0)))

            cout<<"閏年\n";

        else

            cout<<"平年\n";

        cin>>year;

    }

    return 0;

}

上述是我的程式碼,請問是什麼地方出了問題呢?

 

另外我看到有些人是寫

int year;

while(cin>>year){

...

}

我自己測這樣確實可以跑,也可以通過系統評測,但是這樣的方式它是在什麼地方讀取EOF的呢?

#21794: Re:C++ 自己跑可以成功運作也可跳出 但給系統測卻一直TLE 求解


ryanovovo@gmail.com (ryan liao)


#include

using namespace std;

int main(){

    int year=0;

    

    cin>>year;

    

    while(year!=EOF){

        if((year%400==0)||((year%4==0)&&(year%100!=0)))

            cout<<"閏年\n";

        else

            cout<<"平年\n";

        cin>>year;

    }

    return 0;

}

上述是我的程式碼,請問是什麼地方出了問題呢?

 

另外我看到有些人是寫

int year;

while(cin>>year){

...

}

我自己測這樣確實可以跑,也可以通過系統評測,但是這樣的方式它是在什麼地方讀取EOF的呢?

EOF代表的是檔案結尾,上面的while判斷是沒有意義的