C++编程实现:输入某一年的第几天,计算并输出它是这一年的几月几日(要求考虑闰年)。 (1)主函数功能:输入某一年的第几天,调用子函数计算该天是这一年的几月几日,输出结果。 (2)子函数功能:计算某一年的第几天是这一年的几月几日, 子函数头要求为void MonthDay(int year, int num, int &month, int &day)。
时间: 2024-02-25 12:56:32 浏览: 67
C++自定义函数判断某年某月某日是这一年中第几天
5星 · 资源好评率100%
好的,下面是代码实现:
```c++
#include <iostream>
using namespace std;
// 判断闰年
bool isLeapYear(int year){
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return true;
else
return false;
}
// 计算某一年的第num天是几月几日
void MonthDay(int year, int num, int &month, int &day){
int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; // 闰年2月29天
if(isLeapYear(year))
days[2] = 29;
for(int i = 1; i < 13; i++){
if(num <= days[i]){
month = i;
day = num;
break;
}
num -= days[i];
}
}
int main(){
int year, num, month, day;
cout << "请输入某一年的第几天:";
cin >> num;
cout << "请输入年份:";
cin >> year;
MonthDay(year, num, month, day);
cout << year << "年的第" << num << "天是" << month << "月" << day << "日" << endl;
return 0;
}
```
主函数中先输入年份和第几天,然后调用 MonthDay 函数计算月份和日期,最后输出结果。MonthDay 函数中先判断该年是否为闰年,然后根据每个月的天数进行计算,找到输入的第 num 天属于哪个月份,并计算出日期。
阅读全文