选择结构1.1
题目:输入两个数,分别代表年、月,输出一个数,表示该月有多少天
难点:判断是否为闰年
拓展:输入年、月、日,输出一个数,表示该日是这一年的第多少天
下面是源代码
#include <stdio.h>
int main()
{
int year,month,days;
int leap=0;
scanf("%d%d",&year,&month);
if((year%4==0 && year%100!=0) || year%400==0)
leap = 1;
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:days = 31;break;
case 4:
case 6:
case 11:days = 30;break;
case 2:days = 28+leap; //leap is incredible
}
printf("%d",days);
return 0;
}
switch可以用if 替换
关于拓展。。。
以下为代码
#include <stdio.h>
int main()
{
int year,month,day,days=0;
int leap=0;
scanf("%d%d%d",&year,&month,&day);//输入日期
month = month-1;
if((year%4==0 && year%100!=0) || year%400==0)
leap = 1;
switch(month)
{
case 12:days = days+31;
case 11:days = days+30;
case 10:days = days+31;
case 9:days = days+30;
case 8:days = days+31;
case 7:days = days+31;
case 6:days = days+30;
case 5:days = days+31;
case 4:days = days+30;
case 3:days = days+31;
case 2:days = days+28+leap;
case 1:days = days+31;
case 0:days = days+day;
}
printf("这是%d年的第%d天",year,days);
return 0;
}
The end.