c语言输入年份输出这一年每个月有多少天

如题所述

第1个回答  2015-11-13
#include<stdio.h>
void print(int year)
{
for(int i=1;i<=12;i++)
{
switch(i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("%d月有31天\n",i,);
break;
case 2:
if((year%4==0&&year%100!=0)||year%400==0)
printf("%d月有29天\n",i);
else printf("%d月有28天\n",i);
break;
default:
printf("%d月有30天\n",i);
}
}
}
int main()
{
int year;
printf("请输入年份:");
scanf("%d",&year);
print(yaer);
return 0;
}本回答被网友采纳
第2个回答  2015-11-13
int year = 0;
scanf("%d", &year);
bool r1 = year % 400 ==0 || (year % 4 == 0 && year % 100 != 0);
for (int i = 1; i <= 12; i++) {
    bool r2 = (i < 8 && i % 2 == 1) || (i >= 8 && i % 2 == 0);
    if (i == 2)
        printf("%d月:%d天\n", i, 28 + r1);
    else
        printf("%d月:%d天\n", i, 30 + r2);
}

相似回答