结构体:是第几天

今天是该年的第几天

#include
using namespace std;
struct Date  //创建结构体
{
	int year;  //年
	int month; //月
	int day;  //日
};
void inputDate(Date *p)  //输入函数
{
	cin >> p->year >> p->month >> p->day; //输入年、月、日
}
int dayOfYear(Date* p) //今天是今年的第几天
{
	int days[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; //平年各个月的天数
	//判断是否为闰年,若为闰年则2月为29天
	if (p->year % 4 == 0 && p->year % 100 != 0 || p->year % 400 == 0)
		days[2] = 29;
	int sum = 0; //用sum记录今天是今年的第几天
	for (int i = 1; i < p->month; i++) //先把该月的前几个月加上
		sum = sum + days[i];
	sum = sum + p->day;  //后加上当天在当月的天数
	return sum;  //返回sum
}
int main()
{
	Date today;  //创建结构体
	inputDate(&today); //调用输入函数
	//今天是今年的第几天
	cout << dayOfYear(&today) << endl;
}

结构体:是第几天_第1张图片 

你可能感兴趣的:(算法)