题解 | #今年的第几天?#

今年的第几天?

https://www.nowcoder.com/practice/ae7e58fe24b14d1386e13e7d70eaf04d

#include<iostream>
using namespace std;

int arr[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

bool isRun(int year)
{
	if(year % 4 == 0 && year % 100 != 0) return true;
	if(year % 400 == 0) return true; 
	return false;
}

int main(void)
{
	int year,month,day;
	while(cin >> year >> month >> day)
	{
		int ans = 0;
		if(month <= 2){
			for(int i = 1;i < month;i++) ans += arr[i];
			ans += day;
		}else{
			if(isRun(year)){
				for(int i = 1;i < month;i++){
					if(i == 2) ans += 29;
					else ans += arr[i];
				}
				ans += day;
			}else{
				for(int i = 1;i < month;i++) ans += arr[i];
				ans += day;
			}
		}
		cout << ans << endl;
	}
	
	return 0;
}

全部评论

相关推荐

qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务