菜鸟的博客

纵有疾风起,人生不言弃。

导航

复习一下算法

 

所花时间(包括上课):  1  h左右
代码量(行): 100      左右
搏客量(篇): 1
了解到的知识点:  算法
备注(其他):  
 1 题目描述:定义一个时间类,小时和分钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少分钟。说明:这两个时间在同一天之内,且采用24小时计时分式,即从00:00-23:592 
 3    输入格式: 测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,用空格间隔,每个数都是由两位数字组成,第一个数和第二个数分别表示起始时间的小时和分钟,第三个数和第四个数分别表示结束时间的小时和分钟。当读入一个测试用例是00 00 00 00时输入结束,相应的结果不要输出。
 4 
 5    输出格式:对每个测试用例输出一行。输出一个数即可,表示两者之间间隔的分钟数。
 6 
 7    输入样例:
 8 
 9    12 11 12 58
10 
11    00 13 16 00
12 
13    09 07 23 59
14 
15    00 00 00 00
16 
17    输出样例:
18 
19    47
20 
21    947
22 
23    892
 1 #include <iostream>
 2 using namespace std;
 3 class Time
 4 {
 5 public:
 6     friend void test01();
 7     friend int operator-(Time& t1, Time& t2);
 8 private:
 9     int hour;
10     int minute;
11 };
12 int operator-(Time& t1,Time &t2)
13 {
14     int h, m;
15     h = t2.hour - t1.hour;
16     m = t2.minute - t1.minute;
17     return (60 * h + m);
18 }
19 void test01()
20 {
21     int arr[100] = {};
22     int num = 0;
23     while (1)
24     {
25         Time t1;
26         Time t2;
27         cin >> t1.hour >> t1.minute >> t2.hour >> t2.minute;
28         if (t1.hour == 0 && t1.minute == 0 && t2.hour == 0 && t2.minute == 0)
29         {
30             break;
31         }
32         arr[num] = t1 - t2;
33         num++;
34     }
35     for (int i = 0; i < num; i++)
36     {
37         cout << arr[i] << endl;
38     }
39 }
40 int main()
41 {
42     test01();
43     return 0;
44 }
 

 

posted on 2024-04-29 23:15  hhmzd233  阅读(9)  评论(0编辑  收藏  举报