c++中类型tTime包含hour、min、sec三个数据成员用来描述时间段, 表示几小时几分几秒,其中成员值都可以是任意整数。 编写函数maxTime,在tTime类型的数组a中找到最长时间段并返回其序号。如果有多个时间段长度相同,则返回最小其中最小的序号。
时间: 2024-03-15 16:47:47 浏览: 20
可以按照以下方式实现maxTime函数:
```c++
#include <iostream>
using namespace std;
struct tTime {
int hour;
int min;
int sec;
};
int maxTime(tTime a[], int n) {
int maxIndex = 0;
int maxLength = a[0].hour * 3600 + a[0].min * 60 + a[0].sec;
for (int i = 1; i < n; i++) {
int length = a[i].hour * 3600 + a[i].min * 60 + a[i].sec;
if (length > maxLength) {
maxIndex = i;
maxLength = length;
}
}
return maxIndex;
}
int main() {
tTime a[] = {{1, 23, 45}, {2, 30, 15}, {3, 12, 30}, {4, 0, 0}, {3, 51, 10}};
int n = 5;
int maxIndex = maxTime(a, n);
cout << "序号:" << maxIndex << ",时间:" << a[maxIndex].hour << "小时" << a[maxIndex].min << "分钟" << a[maxIndex].sec << "秒" << endl;
return 0;
}
```
在上面的代码中,maxTime函数遍历数组a,计算每个时间段的长度,并找到长度最长的时间段。最后,返回长度最长的时间段的序号。如果有多个时间段长度相同,则返回最小的序号。
在主函数中,我们定义了一个包含5个元素的tTime类型的数组a,并调用maxTime函数来找到最长时间段的序号。最后,输出最长时间段的序号和时间。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)