C语言编程练习:指针、数组与实用程序开发
1. 日期计算函数的错误检查
在日期计算中, day_of_year 和 month_day 函数原本没有错误检查机制。为了弥补这一缺陷,我们需要对输入的月份和日期进行合理性检查。
- day_of_year 函数 :该函数用于根据月份和日期计算当年的第几天。
static char daytab[2][13] = {
{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
int day_of_year(int year, int month, int day) {
int i, leap;
leap = (year%4 == 0 && year%100 != 0) || year%400 == 0;
if (month < 1 || month > 12)
return -1;
if (day < 1 || day > daytab[leap][month])
return -1;
for (i = 1; i < month; i++)
day += daytab[leap][i];
return day;
}
在这
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



