C语言利用结构体求一年中的天数

题目

     在主函数中输入年月日,利用days函数计算该天是本年中的第几天。定义一个结构体变量(包括年、月、日)。
提示:声明结构体类型struct y_m_d,成员为year、month、day。根据题目,需要考虑闰年的情况。

输入样例:

在这里给出一组输入。例如:

2020 3 1

输出样例:

在这里给出相应的输出。例如:

61


#include <stdio.h>
struct Date        //定义一个结构体变量
{
	int year;
	int month;
	int day;
}date;
int days(int year, int month, int day)                 //函数days 判断该日是本年的第几天
{
	int sum = 0, i;
	int a[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };    //数组a中存放12个月的天数
	for (i = 0; i < month - 1; i++)
	{
		sum += a[i];
	}
	sum += day;
	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)      //判断该年是否是闰年
	{
		if (month > 2)
		{
			sum = sum + 1;
		}
		else
		{
			sum = sum + 0;
		}
	}
	else
	{
		sum = sum + 0;
	}
	return sum;   //返回sum;
}
int main()
{
	int sum;
	scanf("%d%d%d", &date.year, &date.month, &date.day);
	sum = days(date.year, date.month, date.day);	     // 调用days函数;
	printf("%d",sum);
    return 0;
}

发布了71 篇原创文章 · 获赞 3 · 访问量 4044

猜你喜欢

转载自blog.csdn.net/zouchengzhi1021/article/details/105441954