九度题目1070:今年的第几天?

来源:互联网 发布:hbase 性能优化 编辑:程序博客网 时间:2024/05/02 04:35

原题链接:http://ac.jobdu.com/problem.php?pid=1070

题目描述:
输入年、月、日,计算该天是本年的第几天。
输入:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出:
输入可能有多组测试数据,对于每一组测试数据,
输出一个整数,代表Input中的年、月、日对应本年的第几天。
样例输入:
1990 9 20
2000 5 1
样例输出:
263
122


代码如下

#include <stdio.h>int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};int isLeapYear(int year){if ((year%4==0&&year%100!=0)||year%400==0){return 1;}return 0;}int days(int year,int month,int day){int i,sum=0;for (i=0;i<month-1;i++){sum+=mon[i];}if(isLeapYear(year)&&month>2){return sum+1+day;}return sum+day;}int main(){int year,month,day;while (scanf("%d%d%d",&year,&month,&day)==3){printf("%d\n",days(year,month,day));}return 0;}


如果文章有什么错误或者有什么建议,欢迎提出,大家共同交流,一起进步

文章转载请注明出处,请尊重知识产权


0 0