怎么用c++判斷閏年,重要的是你輸入不合法是就輸出error.怎么寫后面這個條件。求大神
uj5u.com熱心網友回復:
if(輸入年份為非整數)cout<<"Error"<<endl;
uj5u.com熱心網友回復:
int year;while (1) {
int ok = scanf("%d", &year);
if ( 1 != ok || year < 1000 || year > 3000 ) {
printf("Error:年份必須大于1000小于3000,請重新輸入\n");
fflush(stdin);
}
}
uj5u.com熱心網友回復:
輸入不合法指什么,非數字嗎?可以用正則, for example
std::regex e ("\\d{4}");
std::string str;
while (1) {
printf("please input year:");
std::cin>>str;
int ok = std::regex_match(str, e);
if (ok) break;
printf("error, please input again.");
}
uj5u.com熱心網友回復:
if (y>=0&&(y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)))這是閏年的判斷條件
else
cout<<"error"
是這個意思嗎
uj5u.com熱心網友回復:
1 !=scanf 就是判定,要求輸入整數但是輸入了浮點數或者字母的情況后面的 year范圍判定則是看有效范圍的, 求公元前3年(-3)是閏年可以嗎, 求10000年時候是閏年可以嗎
常見的是4年、百年,400年三個判斷,實際上還有3200年,172800年底判斷呢

這個不確定,哪個閏年的運算式你妹法寫
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/119938.html
標籤:新手樂園
