zoukankan      html  css  js  c++  java
  • 【PAT Advanced Level】1006. Sign In and Sign Out (25)

    关键在于清空字符数组和使用scanf进行输入

    #include <stdio.h>
    #include <string.h>
    #include <fstream>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	
    
    	int num;
    	while (scanf("%d", &num) != EOF)
    	{
    		
    		char earlest[20];
    		char lastest[20];
    		char thisone[20];
    		int h1, h2, m1, m2, s1, s2;
    		scanf("%s%d%*c%d%*c%d %d%*c%d%*c%d", &thisone, &h1, &m1, &s1, &h2, &m2, &s2);
    		int ear = 3600 * h1 + 60 * m1 + s1;
    		int lat = 3600 * h2 + 60 * m2 + s2;
    		memcpy(earlest, thisone, sizeof(thisone)/sizeof(char));
    		memcpy(lastest, thisone, sizeof(thisone)/sizeof(char));
    		num--;
    		while (num--)
    		{
    			memset(thisone, 0, sizeof(thisone)/sizeof(char));
    			scanf("%s%d%*c%d%*c%d %d%*c%d%*c%d", &thisone, &h1, &m1, &s1, &h2, &m2, &s2);
    			int tmp1 = 3600 * h1 + 60 * m1 + s1;
    			int tmp2 = 3600 * h2 + 60 * m2 + s2;
    			if(ear > tmp1) 
    			{
    				//earlest[0] = '';
    				memset(earlest, 0, sizeof(earlest)/sizeof(char));
    				memcpy(earlest, thisone, sizeof(thisone)/sizeof(char));
    				ear = tmp1;
    			}
    			if(lat < tmp2)
    			{
    				//lastest[0] = '';	//清空字符数组,也可以用下面一种方法,更为保险
    				memset(lastest, 0, sizeof(lastest)/sizeof(char));
    				memcpy(lastest, thisone, sizeof(thisone)/sizeof(char));
    				lat = tmp2;
    			}
    		}
    
    		printf("%s %s
    ", earlest, lastest);
    	}
    }
    
    


  • 相关阅读:
    分页 存储过程
    Base64编码
    汉字转拼音 完整类
    C#利用SharpZipLib解压或压缩文件夹实例操作
    C#压缩解压zip 文件
    MapReduce shuffle原理
    设计模式(一)—— 代理模式
    Lombok的基本使用
    解决idea 每次新建项目需要重新配置maven
    10-20 Spring框架(三)—— AOP核心
  • 原文地址:https://www.cnblogs.com/pangblog/p/3367676.html
Copyright © 2011-2022 走看看