解题思路:

题目主要要搞清楚什么是闰年,什么是平年,然后闰年每个月有多少天,平年每个月有多少天。



注意事项:

参考代码:

#include <bits/stdc++.h>
using namespace std;

struct date{
	int year;
	int month;
	int day;
};
int main()
{
	struct date today;
	cin>>today.year;
	cin>>today.month;
	cin>>today.day;
	//判断是不是闰年 ,一般的年份除以4,有余数的是平年,没有余数的是闰年,
	//但如果是年份是整百的,那么该年份除以400,有余数的是平年,没有余数的是闰年。 
	bool tag;
	if(today.year%100!=0 && today.year%4==0||today.year%400==0)
	{
		tag=1;
		}	else tag=0;
	//闰年1~12月分别为31天、29天、31天、30天、31天、30天、31天、31天、30天、31天、30天、31天 
	//平年1~12月分别为 31天、28天、31天、30天、31天、30天、31天、31天、30天、31天、30天、31天 
	int run[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	int ping[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 
	//如果是闰年,
	int sum=0; 
	if(tag==1){
		for(int i=0;i<today.month-1;i++)
		{
			sum+=run[i];
		}
		sum+=today.day; 
	} 
	//如果是平年 
	else 
	{
		for(int i=0;i<today.month-1;i++)
		{
			sum+=ping[i];
		}
		sum+=today.day; 
	}
	cout<<sum<<endl;
	return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论