写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出。
程序的运行示例如下:
请输入日期(年,月,日)
1990,2,14
2月14日是1990年的第45天。
输入格式:
“请输入日期(年,月,日)\n”
“%d,%d,%d”
输出格式:
“\n%d月%d日是%d年的第%d天。”
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Month[12] = {
31,28,31,30,31,30,31,31,30,31,30,31 };
int IsLeap(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
return 1;
else
return 0;
}
int days(int year, int month, int day) //函数功能---计算天数
{
int i;
int sum = 0;
for (i = 0; i < month-1; i++)
{
sum += Month[i];
}
sum += day; //加上当月天数
if (IsLeap(year) == 1 && month > 2)
{
sum++;
}
return sum;
}
int main()
{
int year, month, day;
printf("请输入日期(年,月,日)\n");
scanf("%d,%d,%d", &year, &month, &day);
int ret = days(year, month, day);
printf("\n%d月%d日是%d年的第%d天。", month, day, year, ret);
}