马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输出样例如图所示:
代码如下:
- #include<iostream>
- using namespace std;
- struct date
- {
- int year, month, day;
- };
- int main()
- {
- int year, month, day;
- int sum = 0;
- cout << "请分别输入年月日:";
- cin >> year >> month >> day;
- cout << endl;
- struct date d;
- d.year = year;
- d.month = month;
- d.day = day;
- if (d.month == 1)
- cout << d.day;
- else
- {
- for (int i = 1; i < d.month; i++)
- {
- switch (i)
- {
- case 1:case 3:case 5:case 7:case 8:case 10:case 12:
- sum += 31;
- break;
- case 4:case 6:case 9:case 11:
- sum += 30;
- break;
- case 2:sum += 28;
- }
- }
- sum += d.day;
- if ((d.year % 4 == 0 && d.year % 100 != 0) || (d.year % 400 == 0))
- {
- if (d.month > 2) {
- sum += 1;
- }
- }
- cout << "这一天是本年的第 " << sum << " 天" << endl;
- }
- return 0;
- }
复制代码 解释如下:
- 定义了一个名为date的结构体,其中包含三个整型成员变量year(年)、month(月)和day(日),用于存储日期信息。
- 在主函数中定义了三个整型变量year、month和day,用于接收用户输入的年、月、日信息。整型变量sum并初始化为 0,用于累加该日期是该年的第几天。
- 如果输入的月份是 1 月,直接输出该月的天数(即d.day)。
- 若输入的月份不是 1 月,利用for循环遍历从 1 到d.month - 1的所有月份。
- 在switch语句中,根据不同的月份,将对应月份的天数累加到sum中:
1、3、5、7、8、10、12 月有 31 天。
4、6、9、11 月有 30 天。
2 月默认按 28 天计算。
其中对于闰年:
判断输入的年份是否为闰年,闰年的判断条件是:能被 4 整除但不能被 100 整除,或者能被 400 整除。
若为闰年且输入的月份大于 2 月,说明 2 月有 29 天,将sum加 1。
- 循环竣事后,将输入的日期d.day累加到sum中。
觉得有资助就给博主点个关注叭~~
有问题的可以私信或者在评论区一起交换
友友们一起加油叭QAQ
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |