1. 任务描述
输入年份和月份,输出本月有多少天。合理选择分支语句完成设计任务。
2. 程序流程图
3. 代码实现
/*
*Copyright(c)2019,[email protected]
*All rights reserved.
*文件名称:count_days.cpp
*作 者:马娅芳
*完成日期:2019.1.14
*版 本 号: v1.0
*问题描述:输入年份和月份,输出本月有多少天。合理选择分支语句完成设计任务。
*程序输入:某一年份和月份
*程序输出:该月的天数
*/
#include <stdio.h>
int main(){
int year, month, day;
scanf("%d %d", &year, &month);
if((year % 4 == 0 && year %100 != 0) || year % 400 == 0){ //如果该年份是闰年
switch(month)
{
case 1: //1,3,5,7,8,10,12月有31天
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2: //闰年的2月有29天
day = 29;
break;
case 4: //4,6,9,11月 有30天
case 6:
case 9:
case 11:
day = 30;
break;
}
}
else{
switch(month)
{
case 1: //1,3,5,7,8,10,12月有31天
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = 31;
break;
case 2: //平年的2月只有28天
day = 28;
break;
case 4: //4,6,9,11月 有30天
case 6:
case 9:
case 11:
day = 30;
break;
}
}
printf("本月%d天", day);
return 0;
}
4. 运行结果
5. 心得
刚开始按流程图写代码时,一个月份一条case语句,写到7月的时候突然想起来小学时候背的月份口诀“一三五七八十腊”,发现可以把相同天数的月份放到一起写。