使用C语言使用 if-else 语句和 switch 语句编写一个程序,接收用户输入的年份和月份,计算并输出该月 的天数
时间: 2024-11-06 07:35:33 浏览: 5
输出每个月的天数C语言PTA
在C语言中,你可以使用if-else和switch语句结合日期规则来编写一个简单的程序,用于计算给定年份和月份的天数。这里是一个基本示例:
```c
#include <stdio.h>
int main() {
int year, month, days_in_month;
// 获取用户输入
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份(1-12): ");
scanf("%d", &month);
// 根据年份和月份计算天数
if (year % 4 == 0) { // 普通闰年规则
if (year % 100 == 0) {
if (year % 400 == 0) { // 四百年一闰
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: days_in_month = 31; break;
case 4: case 6: case 9: case 11: days_in_month = 30; break;
default: return -1; // 非法月份
}
} else { // 普通年份
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: days_in_month = 31; break;
case 4: case 6: case 9: case 11: days_in_month = 30; break;
case 2: days_in_month = 28; break; // 二月有28天
}
}
} else { // 世纪非闰年
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: days_in_month = 31; break;
case 4: case 6: case 9: case 11: days_in_month = 30; break;
case 2: days_in_month = 28; break; // 二月有28天
}
}
} else { // 非闰年
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12: days_in_month = 31; break;
case 4: case 6: case 9: case 11: days_in_month = 30; break;
case 2: days_in_month = 28; break; // 二月有28天
}
}
// 输出结果
printf("在%d年%02d月,这个月共有%d天.\n", year, month, days_in_month);
return 0;
}
阅读全文