写一个函数days,实现主函数将年、月、日(结构体类型)传递给days函数,days函数计算该年该月该日是该年的第几天并传回主函数输出

写一个函数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);
}

猜你喜欢

转载自blog.csdn.net/qq_52698632/article/details/113745691