|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include <stdio.h>
- #include <algorithm>
- typedef struct time
- {
- int hour;
- int second;
- int minute;
- }Time;
- int cmp(Time t1,Time t2 )
- {
- if(t1.hour!=t2.hour)
- return t1.hour<t2.hour;
- else
- {
- if(t1.minute!=t2.minute)
- return t1.minute<t2.minute;
- else
- return t1.second<t2.second;
- }
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- Time t[n];
- for(int i=0;i<n;i++)
- {
- scanf("%d%d%d",&t[i].hour,&t[i].minute,&t[i].second);
- }
- std::sort(t,t+n,cmp);
- for(int i=0;i<n;i++)
- {
- printf("%d %d %d\n",t[i].hour,t[i].minute,t[i].second);
- }
- return 0;
- }
复制代码
定义结构体数组并初始化示例(C++版本)
以下是你提供的代码的修正版本,使用C++语法进行修改和完善。
- #include <iostream>
- #include <algorithm>
- struct Time {
- int hour;
- int minute;
- int second;
- };
- bool cmp(Time t1, Time t2) {
- if (t1.hour != t2.hour)
- return t1.hour < t2.hour;
- else {
- if (t1.minute != t2.minute)
- return t1.minute < t2.minute;
- else
- return t1.second < t2.second;
- }
- }
- int main() {
- int n;
- std::cin >> n;
-
- Time t[n];
-
- for (int i = 0; i < n; i++) {
- std::cin >> t[i].hour >> t[i].minute >> t[i].second;
- }
-
- std::sort(t, t + n, cmp);
-
- for (int i = 0; i < n; i++) {
- std::cout << t[i].hour << " " << t[i].minute << " " << t[i].second << std::endl;
- }
-
- return 0;
- }
复制代码
这个示例代码演示了如何使用C++语法定义一个包含时间信息的结构体 Time,并创建一个结构体数组 t[]来存储多个时间数据。通过 std::sort()函数对结构体数组进行排序,使用自定义的比较函数 cmp来指定排序规则。最后,使用循环遍历结构体数组并输出排序后的结果。
注意,在C++中我们使用 #include <iostream>代替 #include <stdio.h>,并使用 std::cin和 std::cout作为输入输出流,使用 std::endl代替 \n来换行。
希望这个示例代码对你有所帮助。如果还有其他问题,请继续提问。
球一个最佳答案谢谢啦!这对我非常重要!  
|
|