结构体计算天数

题目描述

定义一个包括年、月、日的结构体变量,读入年、月、日,计算该日在当年中是第几天。注意闰年问题。
请写一个函数days实现计算,将读入的结构体变量传递给days函数,计算后将答案返回给main函数进行输出。

输入

三个整数,分别表示年、月、日。保证输入是实际存在的日期,且年份在1000至3000之间(包含1000和3000)。

输出

输出该日期是一年中的第几天。
请注意行尾输出换行。

#include
using namespace std;
struct date {int y, m, d;inline bool leap() {return y % 4 == 0 && y % 100 != 0 || y % 400 == 0;}inline int getMonthDay(int m) {if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)return 31;if (m == 4 || m == 6 || m == 9 || m == 11)return 30;if (leap())return 29;return 28;}
};
int days(date d) {int ret = d.d;for (int i = 1; i < d.m; i++)ret += d.getMonthDay(i);return ret;
}
int main() {date d;cin >> d.y >> d.m >> d.d;cout << days(d) << endl;return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部