014 計算某日是該年的第幾天

2021-10-03 06:25:14 字數 1811 閱讀 9853

核心演算法:

閏年比平年的2月多一天

閏年的判斷:year%4 == 0 && year%100 != 0 || year%400 == 0

①普通閏年:能被4整除但不能被100整除的公曆年份

year%4 == 0 && year%100 != 0

②世紀閏年:能被400整除的公曆年份

year%400 == 0

自定義函式leap()判斷輸入的年份是否為閏年:

int leap(int year)

求某日是該年的第幾天

將12個月每月的天數存到陣列中,因為閏年2月份的天數有別於平年,故採用兩個陣列a和b儲存,分類討論。當輸入年份和月份m時,就迴圈累加與該年所對應的儲存著每月天數的陣列的前m-1個元素,將累加結果加上輸入的日,便求出了最終的結果。

注意:

函式的定義:

函式返回值型別 函式名(形參變數型別 形參變數名)

注:形參列表中的形參變數不必再在函式體中定義。

函式的宣告:

函式返回值型別 函式名(形參變數型別 形參變數名);

函式的呼叫:

主調函式返回值型別 主調函式名(形參型別 形參名)

注:形參名和實參名可以不同。

函式呼叫時的實參可以為賦值變數或常量。

①先定義後呼叫

#include

函式返回值型別 函式名(形參變數型別 形參變數名)/* 函式的定義*/

int main()

②先宣告後呼叫再定義

#include

函式返回值型別 函式名(形參型別 形參名);/* 被調函式的宣告*/

int main()/* 主調函式*/

函式返回值型別 函式名(形參變數型別 形參變數名)/* 函式的定義*/

例:編寫乙個計算天數的程式,使用者從鍵盤中輸入年、月、日,在螢幕中輸出此日期是該年的第幾天。

#include

intleap

(int year)

/*自定義函式leap()判斷輸入的年份是否為閏年*/

intnumber

(int year,

int month,

int day)

/*自定義函式number()計算輸入的日期為該年的第幾天*/

;/*陣列a存放閏年每月的天數*/

int b[12]

=;/*陣列b存放平年每月的天數*/if(

leap

(year)==1

)/*呼叫自定義函式leap()判斷year是否為閏年*/

for(i=

0;i1;i++

) sum+

=a[i]

;/*是閏年,累加陣列a前m-1個月份的天數*/

else

for(i=

0;i1;i++

) sum+

=b[i]

;/*不是閏年,累加陣列b前m-1個月份的天數*/

sum+

=day;

/*將前面累加的結果加上日期,求出總天數*/

return sum;

}int

main()

計算某日是該年第幾天

include int leap int a 自定義函式leap用來指定年份是否是閏年 int number int year,int m,int d 自定義函式number計算輸入日期是改年第幾天 陣列a存放平年每月天數 int b 12 陣列b存放閏年每月天數 if leap year 1 判斷...

計算某日是該年的第幾天

include 1 普通年能被4整除且不能被100整除的為閏年。如2004年就是閏年,1900年不是閏年 2 世紀年能被400整除的是閏年。如2000年是閏年,1900年不是閏年 3 對於數值很大的年份,這年如果能整除3200,並且能整除172800則是閏年。1 3 5 7 8 10 12月份,每個...

C語言程式設計 014 計算某日是該年的第幾天

編寫乙個計算天數的程式,使用者從鍵盤輸入年 月 日,在螢幕中輸出此日期是該年的第幾天 include 自定義函式leap 判斷輸入的年份是否為閏年 int leap int a else 自定義函式number 計算輸入的日期為該年的第幾天 int number int year,int m,int...