K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

CHUYÊN ĐỀ : CÁC BÀI TOÁN VỀ THỜI GIAN

(Nhập xuất trên file)

1/ ĐỔI GIỜ

Dữ liệu vào :

-Dòng 1: ba số h m s tương ứng với số giờ, phút, giây

-Dòng 2 : số G là số giây

Dữ liệu ra :

-Dòng 1: In ra một số S1 là số giây đổi ra từ số giờ, số phút, số giây tương ứng

-Dòng 2 : In ra ba số h1 m1 s1 là số giờ, số phút và số giây tương ứng với số giây G

Ví dụ :

DOIGIO.INP

DOIGIO.OUT

0 50 31

8147

3031

2 15 47

2/ XÂU THỜI GIAN

Một xâu kí tự biểu diễn thời gian là xâu kí tự bao gồm các số và các chữ h, m, s tương ứng với giờ, phút và giây.

Ví dụ : cho xâu 1h50m24s nghĩa là : 1 giờ 50 phút 24 giây.

Cho một xâu kí tự biểu diễn thời gian, em hãy cho biết thời gian đó bằng bao nhiêu giây ?

Ví dụ :

XAUTHOIGIAN.INP

XAUTHOIGIAN.OUT

1h50m24s

6624s

3/CỘNG, TRỪ THỜI GIAN

Nhập hai lượng thời gian (mỗi lượng dưới dạng giờ, phút, giây)

In ra tổng hai thời gian, và hiệu hai thời gian (thời gian lớn trừ thời gian bé)

Ví dụ :

ADDTIME.INP

ADDTIME.OUT

2h43m18s

0h54m23s

3h37m41s

1h48m55s

11h25m3s

23h4m19s

34h29m22s

11h39m16s

4/AI CHẠY NHANH NHẤT

Trong một cuộc thi chạy người ta đánh số thứ tự các vận động viên từ 1 đến N, và ghi lại thời gian chạy của từng vận động viên tương ứng.

Nhiệm vụ của em là tìm ra số thứ tự của người chạy nhanh nhất

Dữ liệu vào : Gồm N + 1 dòng

-Dòng 1: Ghi N là số lượng các vận động viên

Dòng 2 ..Dòng N + 1: Dòng i +1 ghi thời gian chạy của vận động viên thứ i (giờ, phút, giây)

Dữ liệu ra :

-Dòng 1: Ghi số K là số thứ tự của vận động viên chạy nhanh nhất, nếu có nhiều vận động viên chạy nhanh nhất thì ghi tất cả các thứ tự tương ứng trên cùng một dòng

Ví dụ :

CHAYNHANH.INP

CHAYNHANH.OUT

5

1h24m56s

2h08m01s

1h32m0s

0h59m34s

1h15m49s

4

5/NĂM NHUẬN

-Nhập vào một số nguyên dương N

Hãy kiểm tra xem năm N có là năm nhuận hay không ?

-Nếu có ghi ‘Yes’

-Nếu không thì ghi ‘No’ và năm nhuận gần năm N nhất là năm nào ? In độ chênh lệch tương ứng

Ví dụ :

NAMNHUAN.INP

NAMNHUAN.OUT

1994

Yes

1999

No

+1

6/(5.1)SỐ NGÀY CỦA MỘT THÁNG

Nhập vào số tháng.

In ra số ngày của tháng đó.

Ví dụ :

DAYSOFM.INP

DAYSOFM.OUT

12

31

2 1990

28

7/(5.2) NGÀY HỢP LỆ

Nhập vào ba số a b c tương ứng là ngày tháng năm .

Hãy kiểm tra xem ngày đó có hợp lệ không

(Thế nào là ngày tháng hợp lệ ?)

Ví dụ :

DAYLIFE.INP

DAYLIFE.OUT

12 8 2013

1

31 4 1999

0

8/(5.3) NGÀY HỢP LỆ PRO

Nhập vào một xâu kí tự chỉ bao gồm các chữ số từ 0 đến 9 biểu diễn một ngày nào đó có thể hợp lệ hay không

Ví dụ :

- xâu 2311990 biểu diễn ngày 23 tháng 1 năm 1990, dễ thấy xâu kí tự này không thể biểu diễn hợp lệ một ngày tháng nào khác ?

- xâu 2112013 biểu diễn hai ngày khác nhau là :

ngày 2 – 11 – 2013 và ngày 21 – 1 2013

- xâu 5442014 không biểu diễn một tháng nào hợp lệ.

DAYLIFEPRO.INP

DAYLIFEPRO.OUT

2122013

Yes

2 – 11 – 2013

21 – 1 – 2013

5442014

No.

9/ TỔNG SỐ NGÀY

Tính tổng số ngày tính từ ngày A tháng B đến ngày C tháng D trong cùng một năm

Dữ liệu vào :

-Dòng 1: hai số nguyên A và B (A: số ngày, B: số tháng).

-Dòng 2: hai số nguyên C và D (C: số ngày, D: số tháng).

Dữ liệu ra :

-Dòng 1: tổng số ngày

Ví dụ :

SUMDAYS.INP

SUMDAYS.OUT

16 3

20 4

36

10/ SẮP XẾP NGÀY

Cho một danh sách N ngày (ngày-tháng-năm) .

Hãy sắp xếp các ngày theo thứ tự từ xa nhất đến gần nhất.

Dữ liệu vào :gồm N + 1 dòng

-Dòng 1: Ghi số nguyên dương N

-Dòng 2 .. Dòng N+1 : mỗi dòng ghi ba số A, B và C tương ứng với ngày – tháng – năm.

Dữ liệu ra :

-N dòng, mỗi dòng là một ngày – tháng – năm đã được sắp xếp.

Ví dụ :

SORTDATE.INP

SORTDATE.OUT

4

15 4 2013

8 9 2014

15 1 2003

7 2 1999

7 2 1999

15 1 2003

15 4 2013

8 9 2014

10

23 1 1900

02 12 2000

14 7 545

20 10 545

02 1 545

10 3 1900

27 4 2000

12 1 1900

12 5 2000

1 1 545

1
17 tháng 9 2019

Mình sẽ nêu ý tưởng nhé.

1/ Bạn chỉ cần áp dụng

1h=60p ; 1p=60 giây thôi

Ý 1: Bạn đổi h và p ra

Ví dụ : g=g+h*60*60;

g:=g+p*60;

Ý 2: Như ý 1 bạn chỉ cần chia tối đa của phút là 60 nếu > thì + dồn cho giờ

2/ Bạn đổi xâu sang thành số và nếu s[1] hoặc s[2] là số thì chuyển qua biến giờ . Tiếp theo chuyển phút. Và nhân như theo ý 1 bài 1.

3/ Áp dụng ý tưởng các câu 1 và 2 .

Các bài còn lại tương tự

17 tháng 9 2019

ok

#include <bits/stdc++.h>

using namespace std;

 int p; 

int main() 

cin>>p; 

int a=p/3600; 

p=p-a*3600; 

int b=p/60; 

int c=p%60; 

cout<<a<<":"<<b<<":"<<c; 

}

7 tháng 8 2023

#include <iostream>

using namespace std;

int main()

{

int t;

cin >> t;

int h = t / 3600;

int m = (t % 3600) / 60;

int s = (t % 3600) % 60;

cout << h << ":" << m << ":" << s << endl;

return 0;

}

25 tháng 7 2021

uses crt;

var s:string;

i,tong,x,code:integer;

f,g:text;

k:boolean;

const fi='XAU.INP';

          fo='XAU.OUT';

begin

k:=false;

assign(f,fi); reset(f);

assign(g,fo); rewrite(g);

readln(f,s);

tong:=0;

for i:=1 to length(s) do

begin

if s[i] in ['0'..'9'] then

begin

k:=true;

val(s[i],x,code);

tong:=tong+x;

x:=0;

cod:=0;

end;

end;

if k=false then writeln(g,'Sai yeu cau')

else

begin

writeln(g,s);

writeln(g,tong);

end;

close(f);

close(g);

end.

2:

uses crt;

var st:string;

d,i,dem1,dem2:integer;

begin

clrscr;

write('Nhap xau:'); readln(st);

d:=length(st);

dem1:=0;

dem2:=0;

for i:=1 to d do

  begin

if st[i] in ['0'..'9'] then inc(dem1);

if (st[i] in ['a'..'z']) or (st[i] in ['A'..'Z']) then inc(dem2);

end;

writeln('So ki tu la chu so la: ',dem1);

writeln('So ki tu la chu cai la: ',dem2);

for i:=1 to d do 

  if st[i] in ['0'..'9'] then delete(st,i,1);

writeln('Xau sau khi xoa cac chu so la: ',st);

readln;

end.