输入年月日 输出是今年的第几天 用for循环
时间: 2024-11-22 21:34:16 浏览: 15
好的,我可以帮助你编写一个C++程序来实现这个功能。以下是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
// 判断是否是闰年
bool isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
} else {
return false;
}
}
int main() {
int year, month, day;
cout << "请输入年份: ";
cin >> year;
cout << "请输入月份: ";
cin >> month;
cout << "请输入日期: ";
cin >> day;
// 每个月的天数
int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 如果是闰年,二月有29天
if (isLeapYear(year)) {
daysInMonth[1] = 29;
}
// 计算今年的第几天
int dayOfYear = 0;
for (int i = 0; i < month - 1; i++) {
dayOfYear += daysInMonth[i];
}
dayOfYear += day;
cout << "这是今年的第 " << dayOfYear << " 天" << endl;
return 0;
}
```
### 解释:
1. **判断闰年**:函数 `isLeapYear` 用于判断给定的年份是否为闰年。如果年份能被4整除且不能被100整除,或者能被400整除,则该年份是闰年。
2. **用户输入**:程序从用户那里获取年份、月份和日期。
3. **每月天数数组**:数组 `daysInMonth` 存储了每个月的天数。对于非闰年,二月有28天。
4. **调整二月天数**:如果是闰年,将二月的天数改为29天。
5. **计算第几天**:通过循环累加前几个月的天数,再加上当前月的天数,得到今年的第几天。
6. **输出结果**:最后输出计算结果。
你可以将这段代码复制到你的C++开发环境中进行编译和运行。希望这对你有帮助!
阅读全文