uj5u.com熱心網友回復:
這個很簡單的,輸入用cin,條件判斷用ifuj5u.com熱心網友回復:
樓主,你這題是哪里的?uj5u.com熱心網友回復:
#include<iostream>using namespace std;
int main() {
int year;
cin >> year;
if (year < 1900 || year>2200)
cout << "error" << endl;
else if (year % 400 == 0)
cout << "yes" << endl;
else if (year % 100 == 0)
cout << "no" << endl;
else if (year % 4 == 0)
cout << "yes" << endl;
else
cout << "no" << endl;
return 0;
}
uj5u.com熱心網友回復:
但是如果輸入不合法,輸出error,這個條件我找不到。我輸入1984.1輸出也是yes
uj5u.com熱心網友回復:
主要是輸入不合法 咋寫那個條件 我輸入1984.1他輸出yes.正確的話輸出錯誤才對啊
uj5u.com熱心網友回復:
主要是輸入不合法 咋寫那個條件 我輸入1984.1他輸出yes.正確的話輸出錯誤才對啊
uj5u.com熱心網友回復:
這是因為定義的是int型別,輸入1984.1,實際只讀取到了1984,你如果在加一條輸入陳述句到double,你會發現不需要再輸入,讀取到的值是0.1,要處理這種情況那就只能是把year定義成double,然后優先判斷小數部分是否為0。不過按照這種邏輯還需要判讀是否會出現輸入“1984sfdasdv”這種后面帶了一些亂按一通的東西的情況,這樣就麻煩了,我感覺做題的話應該不會需要做到這一步,實際應用的時候是可以限制輸入的。所以建議不需要在這里糾結轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/121069.html
標籤:C++ 語言
上一篇:編程題
下一篇:c語言 動態鏈表
