输入某年某月某日,判断这一天是这一年的第几天?C++
时间: 2023-11-20 16:52:47 浏览: 127
这个问题可以通过C++自定义函数来解决。具体方法可以参考引用和引用中的代码。简单来说,可以先计算出该月之前所有月份的天数之和,再加上当月的天数,如果是闰年并且输入月份大于2月,则需要再加上一天。下面是一个简单的示例代码:
```
#include <iostream>
using namespace std;
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int getDayOfYear(int year, int month, int day) {
int daysOfMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int days = 0;
for (int i = 0; i < month - 1; i++) {
days += daysOfMonth[i];
}
days += day;
if (isLeapYear(year) && month > 2) {
days++;
}
return days;
}
int main() {
int year, month, day;
cout << "请输入年份:";
cin >> year;
cout << "请输入月份:";
cin >> month;
cout << "请输入日期:";
cin >> day;
int dayOfYear = getDayOfYear(year, month, day);
cout << year << "年" << month << "月" << day << "日是这一年的第" << dayOfYear << "天" << endl;
return 0;
}
```
阅读全文