C语言求某一年的某一月有多少天
编写程序,要求从键盘输入年份和月份,输出这一年的这个月份共有多少天。
另外,程序中需要对月份进行判断,C语言常用的分支结构有 if else 和 switch case,任选一种即可。
第二次运行结果:
第三次运行结果:
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
分析
这个问题需要考虑闰年问题,因为二月份的天数与闰年有关。闰年的判断依据是:若某年能被 4 整除,但不能被 100 整除,则这一年是闰年;若某年能被 400 整除,则这一年也是闰年。另外,程序中需要对月份进行判断,C语言常用的分支结构有 if else 和 switch case,任选一种即可。
实现
给大家提供一种实现思路,仅供参考:
#include <stdio.h>
int main() {
int year, month, days;
printf("输入年份:");
scanf("%d", &year);
printf("输入月份:");
scanf("%d", &month);
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
// 判断闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
days = 29;
}
else {
days = 28;
}
break;
default:
printf("月份输入错误!\n");
exit(1);
break;
}
printf("天数:%d\n", days);
return 0;
}
第一次运行结果:
输入年份:2014
输入月份:10
天数:31
第二次运行结果:
输入年份:2013
输入月份:02
天数:28
第三次运行结果:
输入年份:2000
输入月份:2
天数:29
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。