使用函数调用方式,按照给定年、月、日 计算该日是该年的第几天。
#include <stdio.h>
int day_of_the_year(int year, int month, int day) {
int days[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int sum = 0, i;
if (month < 1 || month > 12) {
return -1;
}
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days[1] = 29;
}
if (day < 1 || day > days[month - 1]) {
return -1;
}
for (i = 1; i < month; i++) {
sum += days[i - 1];
}
sum += day;
return sum;
}
int main()
{
int year, month, day;
printf("enter year, month and day:");
scanf("%d%d%d", &year, &month, &day);
printf("%d-%d: %d day(s) in the year %d\n", month, day, day_of_the_year(year, month, day), year);
return 0;
}