编写一个函数 int getTotalDaysOfMonth(int year,int month) ,该函数接收一个年份和月份,并返回指定月份的总天数。如果输入无效,则返回-1作为错误标志。
时间: 2024-12-14 22:16:01 浏览: 12
编写一个名为`getTotalDaysOfMonth`的函数,其功能是在给定年份和月份的情况下计算特定月份的总天数。这个函数通常会根据格雷戈里历(公历)规则来进行判断,因为不是每个月份的天数都是固定的,比如二月有28天或29天(闰年),而其他月份则为30天或31天。
以下是函数的基本伪代码实现:
```c++
int getTotalDaysOfMonth(int year, int month) {
switch (month) {
case 1: // January
case 3: // March
case 5: // May
case 7: // July
case 8: // August
case 10: // October
case 12: // December
return 31; // 31 days
case 4: // April
case 6: // June
case 9: // September
case 11: // November
return 30; // 30 days
case 2: // February
if (isLeapYear(year)) { // Leap year check
return 29;
} else {
return 28;
}
default:
return -1; // Invalid month
}
}
bool isLeapYear(int year) {
// Check if the year is divisible by 4 and not divisible by 100,
// or if it's divisible by 400.
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
```
阅读全文