pat 1006 2021-7-12

题目

1006
输入:ID名称,登入时间,登出时间
输出:最早的入场ID、最晚的

input example

3
CS301111 15:30:28 17:00:10
SC3021234 08:00:00 11:25:25
CS301133 21:45:00 21:58:40

output example

SC3021234 CS301133

思路

存储结构:
string 二维数组
大神的思路:

  • 通过设置string max和min的数值,通过比较得出最小和最大的ID,再输出(不需要进行数组的存储)
  • 时间的获取scanf
  • 通过将事件转换成秒

代码

#include<iostream>
#include<stdio.h>
#include<climits>

using namespace std;

int main(){
	
	int n;
	cin>>n;
	int early=INT_MAX,late=INT_MIN;
	string first,last;
	
	
	for(int i=0;i<n;i++)
	{
		string ID;
		cin>>ID;
		int h1,m1,s1,h2,m2,s2;
		scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
		//比较小的
		int q1,q2;
		q1=h1*60*60+m1*60+s1;
		q2=h2*60*60+m2*60+s2;
		if(early>q1)
		{
			early=q1;
			first=ID;
		}
		if(late<q2)
		{
			late=q2;
			last=ID;
		}
	}
	cout<<first<<" "<<last;
	return 0;
} 

知识点

头文件定义的符号常量
CHAR_MIN       char的最小值
SCHAR_MAX      signed char 最大值
SCHAR_MIN       signed char 最小值
UCHAR_MAX      unsigned char 最大值
SHRT_MAX       short 最大值
SHRT_MIN       short 最小值
USHRT_MAX      unsigned short 最大值
INT_MAX       int 最大值
INT_MIN        int 最小值
UINT_MAX       unsigned int 最大值
UINT_MIN       unsigned int 最小值
LONG_MAX      long最大值
LONG_MIN       long最小值
ULONG_MAX      unsigned long 最大值
FLT_MANT_DIG    float 类型的尾数
FLT_DIG        float 类型的最少有效数字位数
FLT_MIN_10_EXP   带有全部有效数的float类型的负指数的最小值(以10为底)
FLT_MAX_10_EXP    float类型的正指数的最大值(以10为底)
FLT_MIN        保留全部精度的float类型正数最小值
FLT_MAX        float类型正数最大值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值