六月 27, 2020
if-Dateは有効です
Đề bài: VCT nhập vào ngày tháng năm và kiểm tra xem ngày tháng năm nhập vào có hợp lệ hay không?
Ví dụ nhập ngày 29 月 2 năm 2017 –> không hợp lệ
日 31 月 4 năm 2016 –> không hợp lệ
日 30 月 3 năm 2020 –> hợp lệ.
入力: 3 số nguyên lần lượt là ngày tháng năm cách nhau một khoảng trắng
出力: thông báo HOP LE 若しくは KHONG HOP LE
例 1:
入力: 29 2 2017
出力: KHONG HOP LE
例 2:
入力: 30 3 2020
出力: HOP LE
- Hướng dẫn: Ta khai báo biến kt (kiểm tra) có kiểu Boolean; (kiểu boolean là kiểu logic nó có 2 giá trị là True (đúng) hoặc False (sai))
var kt:boolean; - Đầu tiên ta giả sử cho ngày tháng năm nhập vào là hợp lệ ta gán giá trị cho biến kiểm tra là đúng.
kt:=true; - Sau đó ta xét các trường hợp ngày tháng năm nếu nó ko hợp lệ thì gán biến kt lại thành sai. Như thế nào là ko hợp lệ, sau đây là các trường hợp không hợp lệ:
-Nếu ngày nhỏ hơn 1 hoặc lớn hơn 31 hoặc tháng nhỏ hơn 1, hoặc lớn hơn 12
-Nếu ngày là 31 mà các tháng là 2,4,6,9,11
-Nếu ngày là 30 mà tháng 2
-Nếu ngày là 29 mà tháng 2 và năm không nhuận - Cuối cùng, ta xét lại biến kiểm tra nếu nó vẫn là đúng thì ngày tháng năm nhập vào là hợp lệ ngược lại là không hợp lệ.
Bạn chưa đăng nhập? ログイン để Submit ngay!
5 注釈
コメントの追加
あなたでなければなりません ログイン コメントする.
Hướng dẫn: Ta khai báo biến kt (kiểm tra) có kiểu Boolean; (kiểu boolean là kiểu logic nó có 2 giá trị là True (đúng) hoặc False (sai))
var kt:boolean;
Đầu tiên ta giả sử cho ngày tháng năm nhập vào là hợp lệ ta gán giá trị cho biến kiểm tra là đúng.
kt:=true;
Sau đó ta xét các trường hợp ngày tháng năm nếu nó ko hợp lệ thì gán biến kt lại thành sai. Như thế nào là ko hợp lệ, sau đây là các trường hợp không hợp lệ:
-Nếu ngày nhỏ hơn 1 hoặc lớn hơn 31 hoặc tháng nhỏ hơn 1, hoặc lớn hơn 12
-Nếu ngày là 31 mà các tháng là 2,4,6,9,11
-Nếu ngày là 30 mà tháng 2
-Nếu ngày là 29 mà tháng 2 và năm không nhuận
Cuối cùng, ta xét lại biến kiểm tra nếu nó vẫn là đúng thì ngày tháng năm nhập vào là hợp lệ ngược lại là không hợp lệ.
add nhờ add xem code của em sai ở đâu vậy ạ em dùng pascal:
var kt:boolean;
day,month,year:整数;
begin
readln(day,month,year);
if (day31) 若しくは (month12) then kt:=false ;
if day=31 then if month in [4,6,9,11] then kt:=false;
if day=30 then if month=2 then kt:=false ;
if day=29 then if ((year mod 4)0) and (month=2) then kt:=false;
if kt=false then write(‘KHONG HOP LE’) ELSE WRITE(‘HOP LE’);
readln;
終わり.
sao nó không hiện vậy add
‘””‘
#含める
#define FAST ios_base::sync_with_stdio(false); cin.tie(0);
using namespace std;
int check(int d, int m, int y) {
if(D 31)
リターン 0;
if(メートル 12)
リターン 0;
else {
switch(メートル) {
case 4: case 6: case 9: case 11:
if(d == 31)
リターン 0;
case 2:
if(d == 29 && !((Y % 4 == 0 && Y % 100 != 0) || Y % 400 == 0))
リターン 0;
}
}
リターン 1;
}
メインのint() {
FAST
int d, メートル, Y;
cin >> D >> メートル >> Y;
if(check(D, メートル, Y))
cout << "HOP LE";
else
cout << "KHONG HOP LE";
リターン 0;
}
Không biết em tư duy như thế này đúng không?