NYOJ_75 日期计算 (判断这一天是这一年中的第几天)

题目地址

如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。

分析:

 
官方给的最优答案用了for 和switch语句结合,十分巧妙。

代码

/*
如题,输入一个日期,格式如:2010 10 24
判断这一天是这一年中的第几天。
*/
#include<iostream>
using namespace std;
bool leapyear(int a)  //判断闰年
{
//	if((a%4==0) && (a%100 || a%400==0)    ) return true;  //可以被4整除但是不能被100  或者可以被400整除的为闰年
	if( (a%4==0 && a%100 )|| a%400 == 0    ) return true;
	else
		return false;
}
int main()
{
	int a[3]={0};
	int n;
	cin>>n;
	int day[12]={31,0,31,30,31,30,31,31,30,31,30,31}; //默认闰年
	while(n--)
	{
		int dayNum = 0;
		for(int i=0;i<3;i++)
		{
			cin>>a[i];
		}
		if(leapyear(a[0]))
			day[1]=29; //判断闰年来改变2月的天数
		else
			day[1]=28;
		for(int i=0; i+1 <a[1];i++)
		{
			dayNum += day[i];
		}
		cout<<dayNum+a[2]<<endl;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-25 09:33:12

NYOJ_75 日期计算 (判断这一天是这一年中的第几天)的相关文章

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

输入年份,月份,日期计算该日期是一年中的第几天//雪碧和可乐temp

输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出"星期一"(用两种方式实现) int day; printf("请输入1~7的数字"); scanf("%d",&day); if(day>0&&day<8) { //多重if...else if条件分支实现 if(day==1){ printf("星期一"); }else if(day==2){ prin

CalendarHelper日期计算工具,各种日期的获取和计算

今天分享一个日期获取和计算的工具类,这个最初是用在项目中获取每周每月日期用的. package com.ran.interview; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; /** * @auth

SQL Server日期计算

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期. 在使用本文中的例子之前,你必须注意以下的问题.大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定.第一

对指定日期计算出N天后的日期问题

指定日期计算出N天后的日期问题 问题描述:先输入起始日期,再输入任意天数n,求n天后的日期. 源代码一(参考http://zhidao.baidu.com/linkurl=0BxF0QvTywzuRkLUFj6ulUQKYqp97CjUOZBV1UUmXoCkS9HNyOT2axHkcOsRLi-xlB_JE6KvdglSD23S35EUXK) #include<stdio.h> <span style="font-family:SimHei;font-size:14px;&q

日期计算

闰年的详细定义: 年份非整百且能被 4 整除的为闰年.(如 2004 年就是闰年, 2005 年不是闰年) 年份能被 400 整除的是闰年.(如 2000 年是闰年,1900 年不是闰年) int is_leap_year(int year) {    if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) {        return 1;    }    return 0;} 经常会遇到别人问你几月几号是星期几的情况,如何

一行代码比较用户A和用户B的年龄大小(两个日期计算)

两个日期计算 用法: <edate [id=书包名] [list]> <we start="开始日期" end="结束日期" [format="yyyy-MM-dd HH:mm:ss.SSS"]/> </edate> ·        id:书包名,EDate标签返回的书包名称,可选,为空时书包名为标签名edate ·        list:列表,可选,要不要列出从开始到结束的所有日期 ·        st

国内cn域名过期失效日期计算方式

国内的cn域名在过期60天后将会被***, 可以提供重新注册. 但是这60天是怎么计算的呢? 如果你计算错了也许期盼已久的域名就会被别人注册走. 我就有这么悲催经历, 先前是看到有的网站说是过期45天就***了,让我守了2个晚上也没有注册到. 结果在60天到期***的时候被别人注册走了. 请记住 60天的过期时间是 包括域名过期当天计算一天. 第60天计算一天. 也就是在第60天的时候 就可以注册了. 不用等到第61天.................... 国内cn域名过期失效日期计算方式,布

iOS学习笔记37-时间和日期计算

一.时间和日期计算 我们在应用开发中,时常需要和时间打交道,比如获取当前时间,获取两个时间点相隔的时间等等,在iOS开发中与时间相关的类有如下几个: 1. NSDate:表示一个绝对的时间点 2. NSTimeZone:时区信息 3. NSLocale:本地化信息 4. NSDateComponents:一个封装了具体年月日.时秒分.周.季度等的类 5. NSCalendar:日历类,它提供了大部分的日期计算接口 6. NSDateFormatter:用来在日期和字符串之间转换 二.NSDate