news 2026/9/2 20:37:01

华为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/8/29 7:05:14

AI出海新趋势:开源翻译镜像助力中小企业全球化布局

AI出海新趋势&#xff1a;开源翻译镜像助力中小企业全球化布局 &#x1f310; AI 智能中英翻译服务 (WebUI API) 从“能用”到“好用”&#xff1a;AI翻译的进化之路 在全球化加速的今天&#xff0c;语言壁垒依然是中小企业出海过程中最现实的障碍之一。传统机器翻译工具虽然普…

作者头像 李华
网站建设 2026/9/1 18:02:45

【计算机毕业设计案例】基于python-CNN深度学习的食物识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/8/26 16:01:42

深度测评MBA必备一键生成论文工具TOP8:开题报告文献综述全攻略

深度测评MBA必备一键生成论文工具TOP8&#xff1a;开题报告文献综述全攻略 2026年MBA论文写作工具测评&#xff1a;为何需要这份深度榜单 随着MBA课程的深入&#xff0c;论文撰写成为每位学生必须面对的重要任务。从开题报告到文献综述&#xff0c;再到最终的论文成稿&#xff…

作者头像 李华
网站建设 2026/8/31 9:14:32

Anaconda加速AI模型训练全攻略

Anaconda加速AI模型训练的技术文章大纲加速环境配置使用Anaconda创建独立Python环境&#xff0c;避免依赖冲突 安装CUDA和cuDNN以启用GPU加速 通过conda安装TensorFlow/PyTorch的GPU版本优化数据加载利用Dask或Modin替代Pandas处理大型数据集 使用TensorFlow Dataset或PyTorch …

作者头像 李华
网站建设 2026/9/1 6:02:47

C++计算两个向量之间的三角函数值(sin,cos,tan)

//计算向量角度 void calculateVectorAngle(double dir1[3], double dir2[3], double* sinVal, double* cosVal, double* tanVal) {// 计算点积double dotProduct 0.0;for (int i 0; i < 3; i){dotProduct dir1[i] * dir2[i];}// 计算向量模长double mag1 0.0;double ma…

作者头像 李华