• 29: 求最晚和最早日期


    29 求最晚和最早日期

    作者: Fu 时间限制: 1S 章节: 循环

    问题描述 :
    输入N个日期,每个以年、月、日的顺序读入,打印输出最晚的日期、最早的日期。

    输入说明 :
    你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组输入数据由多行组成。每组测试数据的第一行输入一个整数N(0<N<20),表示有N个日期。其后N行每行有三个整数Y(1≤Y≤2015),M(1≤M≤12),D(1≤D≤31)表示一个日期。

    输出说明 :
    对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的文本终端)输出两行,每行包括3个整数,第一行为最晚日期,第二行为最早日期,整数之间以一个空格分隔,行首与行尾无空格,所有数据前后没有多余的空行,两组数据之间也没有多余的空行。

    输入范例 :
    3
    2015 3 2
    2011 4 15
    1 1 1
    输出范例 :
    2015 3 2
    1 1 1
    代码:

    #include <stdio.h>
    int main()
    {
    	int y, m, d;
    	int maxy, miny, maxm, minm, maxd, mind;
    	int n;
    	scanf("%d", &n);
    	scanf("%d%d%d", &y, &m, &d);
    	maxy = miny = y; maxm = minm = m; maxd = mind = d;
    	for (int i = 1; i < n; i++)
    	{
    		scanf("%d%d%d", &y, &m, &d);
    		if (maxy < y)
    		{
    			maxy = y; maxm = m; maxd = d;
    		}
    		else if (maxy == y)
    		{
    			if (maxm<m)
    			{
    				maxy = y; maxm = m; maxd = d;
    			}
    			else if (maxm==m)
    			{
    				if (maxd < d)
    				{
    					maxy = y; maxm = m; maxd = d;
    				}
    			}
    		}
    		if (miny > y)
    		{
    			miny = y; minm = m; mind = d;
    		}
    		else if (miny == y)
    		{
    			if (minm<m)
    			{
    				miny = y; minm = m; mind = d;
    			}
    			else if (minm == m)
    			{
    				if (mind < d)
    				{
    					miny = y; minm = m; mind = d;
    				}
    			}
    		}
    	}
    	printf("%d %d %d
    %d %d %d
    ", maxy, maxm, maxd, miny, minm, mind);
    	return 0;
    }
    
    Yesterday is history,tomorrow ismystery,but today is a gift!That why it is called Present!
  • 相关阅读:
    PyQt5经典案例
    JS实现深拷贝(解决循环引用等问题)
    React/Vue里的key到底有什么用?看完这篇你就知道了!(附demo代码)
    linux盘符操作命令
    Ubuntu20.04下安装opencv for C++
    数字图像处理-python随机噪声、高斯噪声和椒盐噪声实现
    数字图像处理-(1)pyqt页面
    数字图像处理-Python读取BMP文件
    docker笔记
    CentOS7安装GO
  • 原文地址:https://www.cnblogs.com/VictorierJwr/p/12248870.html
Copyright © 2020-2023  润新知