[C/C++]今年的第几天 - 2019校招编程刷题
参考链接
题目描述
输入年、月、日,计算该天是本年的第几天。
输入:
包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。
输出:
输入可能有多组测试数据,对于每一组测试数据,
输出一个整数,代表Input中的年、月、日对应本年的第几天。
输入描述
输入:1990 9 20
输出描述
输入:263
输入例子1:
2000 5 1
输出例子1:
122
备注:
注意闰年的判定方式
思路:
- 输入 年 月 日,输出这是这一年的第几天。思路很简单:
- (1)把一年12个月,每个月的天数存到输入里面。2月存28天。
- (2)判断这一年是不是闰年,如果是闰年。28+1 = 29天。
- (3)把输入月份的前几个月的天数求和,再加上这个月输入的天数就可以。
Just show my code
代码(c++/c)
#include<iostream>
bool isRun(int year){ // 四年一闰、百年不闰、400年再闰。
if(year % 4 == 0){
if(year % 100 == 0){
if ( year % 400 == 0){
return true;
}else{
return false;
}
}else{
return true;
}
}else{
return false;
}
}
using namespace std;
int main(){
int year;
int month;
int day;
cin >> year >> month >> day;
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int n = 0;
for(int i = 0 ; i < month-1; i++){
if(i==1){
if(isRun(year)){
days[i]++;
}
}
n+= days[i];
}
n+= day;
cout<<n<<endl;
return 0;
}
如果我的文章能帮你节约20秒,就请你为我的文章点个赞吧!