当前位置:首页 > 题解目录 > 正文内容

【题解】结构体与闰年

亿万年的星光5年前 (2021-06-06)题解目录2589

【题目描述】

定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

【输入描述】

年月日

【输出描述】

当年第几天

【样例输入】

2000 12 31

【样例输出】

366

【题目分析】

  1. 比较简单题目,需要注意闰年的情况,从输入样例看,第一个数字决定是否闰年。判断闰年函数参考 :判断闰年

  2. 单独写一个函数用来判断是否闰年。

  3. 可以把每个月的总天数直接放到数组里。实际上就是二月份有区别。

  4. 遇到月份中间的天数,比如3月4号这样的,我们只需要把前面每个月的天数加到当前这个里面就行了。

  5. 真正考试的是时候是送分题,因为结果就两个。



【参考代码】

#include<iostream> 
using namespace std;
//判断闰年的函数 
int leap(int year){
	if((year%4!=0)||(year%100==0&&year%400!=0))
		return 0;
	else
		return 1;
}

//时间的结构体
struct time{
	int year; //年
	int month;//月
	int day; // 
}; 
time t;
 
int main()
{
	int arr[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //把每个月的天数表示出来 
	int flag=0; //判断是否闰年的标志 
	cin>>t.year>>t.month>>t.day;
	if(leap(t.year)==1){
		flag=1;
	}
	for(int i=0;i<t.month-1;i++){
		if(i==1 && flag==1){
			t.day+=arr[i]+1; //是闰年,2月多加一天 
		}else{
			t.day+=arr[i]; //把前面每个月的天数都加到day里面 
		} 
	}
	cout<<t.day<<endl; 
	
	return 0;

}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    2020CSPJ-直播获奖

    【题目描述】NOI2130 即将举行。为了增加观赏性,CCF 决定逐一评出每个选手的成绩,并直播即时的获奖分数线。本次竞赛的获奖率为w%,即当前排名前 w% 的选手的最低成绩就是即时的分数线...

    【题解】计算天数

    【题目描述】以 年-月-日 的形式给定一个日期,计算给定的日期是当年第几天。注意闰年二月有29天。【输入描述】输入格式为 yyyy-mm-dd,其中yyyy 表...

    小苹果(apple)

    【题目描述】小 Y 的桌子上放着n个苹果从左到右排成一列,编号为从1到n。小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。每天在拿的时候,小苞都是从左侧第1个苹果开始、每隔2个苹果拿走2个苹果。随...

    公路(road)

    公路(road)

    【题目描述】小苞准备开着车沿着公路自驾。公路上一共有n个站点,编号为从1 到n。其中站点i与站点i+1 的距离为vi公里。公路上每个站点都可以加油,编号为i 的站点一升油的价格为a...

    【题解】Ride to Office

    【题目描述】起点与终点相隔4500米。现Charley 需要从起点骑车到终点。但是,他有个习惯,沿途需要有人陪伴,即以相同的速度, 与另外一个人一起骑。而当他遇到以更快的速度骑车的人时,他会以相应的速...

    【题解】周末舞会

    【题目描述】假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等...