輸入某年某月某日,判斷這一天是這一年的第幾天?
本題涉及到日曆中平年和閏年的概念,平年和閏年的區別在於2月份的天數,平年2月份天數為28天,閏年2月份天數為29天,其他月份天數一樣。
if
(year %
400==0||
(year %4==
0&& year %
100!=0)
)
下面給出每月的天數
1月2月
3月4月
5月6月
7月8月
9月10月
11月12月
31天平年28天/閏年29天
31天30天
31天30天
31天31天
30天31天
30天31天
可以發現,在計算時只需給出平年的天數演算法,在驗證給出的時間年份是否是閏年且月份數大於2,若是則在天數上加1,把每個月對應的天數都事先計算出來,用switch
語句選擇月份即可,實現如下:
注意:在程式中通過月份計算天數時,是從0月開始算的,比如輸入的月日是1月20號,那麼這一天必然是該年的第20天,所以在選擇月份的時候,case 1
處的sum
為0
。
#include
int main (
void
) sum = sum + day;
// 再加上天數
if(year %
400==0||
(year %4==
0&& year %
100!=0)
)}printf
("這是這一年的第%d天"
, sum)
;return0;
}
請輸入年月日,格式為年月日,中間空格隔開:2019417
這是這一年的第107天
判斷某一天是這一年的第多少天
先判斷是否是閏年 def leap year year 判斷是否為閏年 return year 4 0 and year 100 0 or year 100 0再計算天數 def day of year year,month,day 計算傳入的日期是這一年的第多少天 days of month 31...
計算某一天是這一年中的第幾天
問題描述 定義乙個結構體變數 包括年月日 計算該日在本年中是第幾天?樣例輸入 2016 12 31 樣例輸出 366 includebool isleapyear int year 判斷這一年是否是閏年 int calday int year 計算天數 struct day int monthday...
那一年,這一天
那一年我們好像很有錢,走進宿舍樓的時候會買一包爸爸都捨不得抽的煙.那一年我們好像很有錢,成為自己情侶吃穿的保姆,回家的時候卻不能給媽媽買一條最便宜的珍珠項鍊.什麼時候我們忘記了兒時做英雄的念頭,只學會了飯店裡叫嚷服務員上菜上酒.什麼時候網路的虛擬變成生活的虛榮,讓你和人聊天時不以為恥,反以為榮.大學...