按如下函数原型用函数编程解决如下的日期转换问题(要求考虑闰年的问题): 输入某年某月某日,计算并输出它是这一年的第几天。 /* 函数功能: 对给定的某年某月某日,计算它是这一年的第几天 函数参数: 整型变量year、month、day,分别代表年、月、日 函数返回值:这一年的第几天 */ int DayofYear(int year, int month, int day); 输入提示信息:"Please enter year, month, day:" 输入格式:"%d,%d,%d" 输出提示信息和格式:"yearDay = %d\n"
#include<stdio.h>
int DayofYear(int year, int month, int day);
int main()
{
int year, month, day;
long int DAY = 0;
printf("Please enter year, month, day:");
scanf("%d,%d,%d", &year, &month, &day);
DAY = DayofYear(year, month, day);
printf("yearDay = %d\n", DAY);
return 0;
}
int DayofYear(int year, int month, int day)
{
int i;
long int DAY = 0;
int a[2][12] = {{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
{
DAY = day;
for (i = 0; i < month - 1; i++)
{
DAY += a[0][i];
}
}
else
{
DAY = day;
for (i = 0; i < month - 1; i++)
{
DAY += a[1][i];
}
}
return DAY;
}
如有不足之处,还请各位大佬指点