12 求第几天
问题描述 :
按年、月、日的顺序读入一个日期,输出该日期是这一年中的第几天。
输入说明 :
输入数据为三个正整数y 、m、d,分别表示年、月、日,整数之间以空格分隔,在行首和行尾没有多余的空格。
输出说明 :
输出一个整数,表示输入的日期是这一年中的第几天,在行首和行尾没有多余的空格。
输入范例 :2000 12 31
输出范例 :366
思想:判断平闰,然后累加前面几个月的长度,再加上当前月份的日期。
#include <stdio.h> #include <stdlib.h> int main() { int year,month,date,res; int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; scanf("%d%d%d",&year,&month,&date); if (year%4==0&&year%100!=0||year%400==0) { day[1]++; } for(int i=0;i<month-1;i++){ res+=day[i]; } res+=date; printf("%d",res); return 0; }