本文主要是介绍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; }
}
这篇关于NYOJ_75 日期计算 (判断这一天是这一年中的第几天)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!