求某一年的某一月有多少天
#include<stdio.h>
/* 求某一年的某一月有多少天 */
int DayofMonth(int,int);
int main(){
int days,month,year;
printf("please input year and month\n");
scanf("%d%d",&year,&month);
if(month<1 || month>12){
printf("input error month!\n");
}
days=DayofMonth(year,month);
printf("this month has total %d days\n",days);
}
// ****年份分为普通年份,4的整倍数是闰年,其中2100是4的整倍数而不是400的整倍数,则是普通年份
int DayofMonth(int year,int month){
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
return 31;
} //每年都是31天的月份
if(month==4 || month==6 || month==9 || month==11 ){
return 30;
} //每年都是30天的月份
if(month==2){ //特殊的2月份
/*100的整倍数 && 400的整倍数*/ /*非100的整倍数 && 4的整倍数*/
if((year%100==0 && year%400==0) || (year%100!=0 && year%4==0)){
return 29;
}
/*非100的整倍数 && 4的整倍数*/
//else if(year%100!=0 && year%4==0){
// return 29;
// }
else{
/*普通年份,非4的整倍数,100的整倍数但不是400的整倍数*/
return 28;
}
}
}