C語言經典例4 某一天是這一年的第幾天

2021-10-02 09:00:16 字數 1019 閱讀 1328

輸入某年某月某日,判斷這一天是這一年的第幾天?

本題涉及到日曆中平年和閏年的概念,平年和閏年的區別在於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處的sum0

#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...

那一年,這一天

那一年我們好像很有錢,走進宿舍樓的時候會買一包爸爸都捨不得抽的煙.那一年我們好像很有錢,成為自己情侶吃穿的保姆,回家的時候卻不能給媽媽買一條最便宜的珍珠項鍊.什麼時候我們忘記了兒時做英雄的念頭,只學會了飯店裡叫嚷服務員上菜上酒.什麼時候網路的虛擬變成生活的虛榮,讓你和人聊天時不以為恥,反以為榮.大學...