NYOJ【75】日期计算【某年某月某日是第几天】

来源:互联网 发布:双色球缩水软件免费版 编辑:程序博客网 时间:2024/05/19 19:40

日期计算

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
描述
如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
输入
第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每行的输入数据都是一个按题目要求格式输入的日期。
输出
每组输入数据的输出占一行,输出判断出的天数n
样例输入
32000 4 52001 5 42010 10 24
样例输出
96124

297



解析:

       首先判断是否是闰年,定义一个数组储存每个月的天数,计算的时候要注意只能计算到前一个月然后在加上当前月天数


程序如下:

#include<cstdio>int fun(int n){if(n%4==0&&n%100!=0||n%400==0)   return 1;return 0;}int main(){int t;scanf("%d",&t);while(t--){int year,month,day;int sum=0;int ans[12]={31,28,31,30,31,30,31,31,30,31,30,31};scanf("%d%d%d",&year,&month,&day);if(fun(year))   ans[1]=29;for(int i=0; i<month-1; i++)   sum+=ans[i];sum+=day;printf("%d\n",sum);}return 0;}


阅读全文
0 0