核心演算法:
閏年比平年的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...