news 2026/3/13 20:32:35

华为OD机试真题双机位C卷 【运维日志排序】C语言实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机试真题双机位C卷 【运维日志排序】C语言实现

运维日志排序

2025华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 100分题型

华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解

其它语言题解链接

华为OD机试双机位C卷 - 运维日志排序 (Python & C++ & JAVA & JS & GO)

题目描述

[运维工程师]采集到某产品线网运行一天产生的日志n条,现需根据日志时间先后顺序对日志进行排序,日志时间格式为H:M:S.N。

  • H表示小时(0~23)
  • M表示分钟(0~59)
  • S表示秒(0~59)
  • N表示毫秒(0~999)

时间可能并没有补全,也就是说,01:01:01.001也可能表示为1:1:1.1。

输入描述

第一行输入一个整数n表示日志条数,1<=n<=100000,接下来n行输入n个时间。

输出描述

按时间升序排序之后的时间,如果有两个时间表示的时间相同,则保持输入顺序。

示例1

输入

2 01:41:8.9 1:1:09.211

输出

1:1:09.211 01:41:8.9

示例2

输入

3 23:41:08.023 1:1:09.211 08:01:22.0

输出

1:1:09.211 08:01:22.0 23:41:08.023

题解

思路

字符串处理 + 自定义排序题型

  1. 自定义结构体,保存每个日志时间的原始字符串时间转换为毫秒之后的值,输入顺序
  2. 接受输入的时间字符串,提出每个字符串中的时、分、秒、毫秒值,统一转换为毫秒,保存至结构体数组中。
  3. 将结构体数组自定义排序按照时间升序,时间相同按照输入顺序升序
  4. 按顺序输出排序之后的日志记录原始字符串。

code

#include<stdio.h>#include<stdlib.h>typedefstruct{longlongt;intidx;chars[20];}Time;// 自定义排序 时间升序,时间相同按照输入顺序intcmp(constvoid*a,constvoid*b){Time*ta=(Time*)a,*tb=(Time*)b;returnta->t!=tb->t?(ta->t-tb->t):ta->idx-tb->idx;}intmain(){intn,H,M,S,N;scanf("%d",&n);Time*arr=malloc(n*sizeof(Time));for(inti=0;i<n;i++){scanf("%s",arr[i].s);sscanf(arr[i].s,"%d:%d:%d.%d",&H,&M,&S,&N);// 统一转换为毫秒arr[i].t=(longlong)H*3600000+M*60000+S*1000+N;arr[i].idx=i;}// 自定义排序qsort(arr,n,sizeof(Time),cmp);// 输出结果for(inti=0;i<n;i++)printf("%s\n",arr[i].s);free(arr);return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 4:07:32

【BurpSuite 插件开发】实战篇 - 补充章节

1 前言 本章内容用于测试我们开发的 BurpSuite 插件的功能,分为服务端接口脚本和接口测试脚本。使用 python 的 flask 框架和 requests 库快速实现。 2 服务端 2.1 安装依赖 pip install Flask2.2 完整代码 from flask import Flask, request, jsonify, make_response im…

作者头像 李华
网站建设 2026/3/13 14:43:00

Thinkphp的医疗健康管理平台

目录ThinkPHP医疗健康管理平台摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理ThinkPHP医疗健康管理平台摘要 ThinkPHP医疗健康管理平台是基于PHP框架ThinkPHP开发的一套综合性系统&#xff0c;旨在为医疗机构、医生和患者提供高效、安全、便…

作者头像 李华
网站建设 2026/3/13 9:51:58

Thinkphp的幼儿园管理系统

目录 幼儿园管理系统摘要 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 幼儿园管理系统摘要 幼儿园管理系统基于ThinkPHP框架开发&#xff0c;旨在通过信息化手段提升幼儿园日常管理效率&#xff0c;优化家长与园方的沟通流程。系统采用B/S架构…

作者头像 李华
网站建设 2026/3/13 8:16:35

Thinkphp的音乐周边产品售卖系统设计与实现

目录音乐周边产品售卖系统设计与实现&#xff08;基于ThinkPHP&#xff09;项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理音乐周边产品售卖系统设计与实现&#xff08;基于ThinkPHP&#xff09; 该系统基于ThinkPHP框架开发&#xff0c;旨在构建…

作者头像 李华
网站建设 2026/3/11 10:53:46

本地部署 Payara Server 公网访问

Payara 提供以平台工程为核心的云原生 Java 平台&#xff0c;并利用配置管理、基础设施编排和基于角色的访问控制等组件。这种方法可以减少摩擦、加快交付速度&#xff0c;并使团队能够专注于创新。企业可以从 Payara 平台工程方法中受益&#xff0c;具体体现在以下方面&#x…

作者头像 李华