输入年份月份 输出当前的月份用c语言怎么写

img

我的思路是:

1、可以使用两个数组分别存储平年和闰年每月的天数;

2、然后根据输入的年份判断是否为闰年,如果是闰年则取闰年每月天数数组中相应月的天数,否则取平年年每月天数数组中相应月的天数即可,代码如下:

参考链接:


#include  <stdio.h>

int main(void){
    
    // 平年每月天数 
    int ordinaryMonthDays[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    
    // 闰年每月天数 
    int leapMothDays[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    
    int year,month;
    printf("请输入年份和月份(ex: 2020 12):");
    scanf("%d %d",&year,&month);
    
    // https://jingyan.baidu.com/article/6525d4b14c6306ed7d2e94b6.html
     if((year%100!=0&&year%4==0)||(year%400==0)){ // 根据年份判断此年是否为闰年 
         printf("%d年%d月有%d天.\n",year,month,leapMothDays[month-1] ); // 如果是闰年,则月份-1的值去取闰年每月天数数组中的相应月的天数 
     }else{
         printf("%d年%d月有%d天.\n",year,month,ordinaryMonthDays[month-1] );  // 如果是平年年,则月份-1的值去取平年年每月天数数组中的相应月的天数 
     }
    
    
    return 0;
}