使用C++编写一个程序,用户输入日期,计算该日期是这一年的第几天。 【输入形式】用户在第一行输入一个日期(年 月 日,中间以空格分割) 【输出形式】程序在下一行输出一个整数 【样例输入】2006 2 21 【样例输出】52
时间: 2023-10-22 08:13:12 浏览: 69
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int year, month, day;
int days_in_month[] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 存储每个月份的天数
int days = 0; // 存储计算出的天数
cin >> year >> month >> day;
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
days_in_month[1] = 29; // 2月份的天数改为29
}
// 计算天数
for (int i = 0; i < month - 1; i++)
{
days += days_in_month[i];
}
days += day;
cout << days << endl;
return 0;
}
```
代码实现思路:
1. 首先输入日期,即年月日。
2. 定义一个数组 `days_in_month` 存储每个月份的天数,数组下标从0开始对应1月份,一直到11对应12月份。
3. 判断输入的年份是否为闰年,如果是,则将2月份的天数改为29天。
4. 计算输入的日期是这一年的第几天,具体实现为:先将之前的月份天数相加,再加上当前月份的天数。
5. 输出计算出的天数。
注意:这里的算法并不考虑输入的日期是否合法,比如输入2月30日这样的日期也会得到一个结果。
阅读全文