C++:定义一个结构体变量(包罗年、月、日),编写程序,要求输入年月日,
输出样例如图所示:https://i-blog.csdnimg.cn/direct/0539d07b3025487599182cc49cfe709e.png
代码如下:
#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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]