練習7-9 計算天數 (15 point(s))
阿新 • • 發佈:2018-11-25
練習7-9 計算天數 (15 point(s))
本題要求編寫程式計算某年某月某日是該年中的第幾天。
輸入格式:
輸入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)給出日期。注意:閏年的判別條件是該年年份能被4整除但不能被100整除、或者能被400整除。閏年的2月有29天。
輸出格式:
在一行輸出日期是該年中的第幾天。
輸入樣例1:
2009/03/02
輸出樣例1:
61
輸入樣例2:
2000/03/02
輸出樣例2:
62
#include<stdio.h> int day_of_year(int year,int month,int day); int main(){ int y,m,d; scanf("%d/%d/%d",&y,&m,&d); printf("%d",day_of_year(y,m,d)); return 0; } int day_of_year(int year,int month,int day) { int k,leap; int tab[2][13]={ {0,31,28,31,30,31,30,31,31,30,31,30,31}, {0,31,29,31,30,31,30,31,31,30,31,30,31} }; leap=(year%4==0&&year%100!=0||year%400==0); for(k=1;k<month;k++) day=day+tab[leap][k]; return day; }