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

【题解】结构体与闰年

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

【题目描述】

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

【输入描述】

年月日

【输出描述】

当年第几天

【样例输入】

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;

}


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

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

    分享给朋友:

    相关文章

    【题解】合根植物

    【题解】合根植物

    【题目描述】w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成...

    2021年青岛市程序设计竞赛试题(初中组)决赛

    2021年青岛市程序设计竞赛试题(初中组)决赛

    A.趣味三角(triangle.cpp) 【题目描述】 今天,新高一的OIer们第一次进入了机房。z老师想让他们喜欢上OI,于是给了他们每个人一个三角形。 这时候,小q秃发奇想,...

    【题解】分糖果

    【题目描述】小A在生日这天收到了哥哥送来的一盒糖果,这盒糖果共有M个,小A要把这盒糖果放到N个盘子中(允许有盘子不放),请问,有多少种不同的放法?请注意:数值相同,顺序不同,我们视为是相同的放法,比如...

    【题解】区间和

    【描述】输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007【输入】第一行是一个整数Q后面的Q行每行有2个数字l和r【输出】Q行,...

    【题解】大整数加法

    【题目描述】求两个不超过200位的非负整数的和。【输入】有两行,每行是一个不超过200位的非负整数,可能有多余的前导0。【输出】一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么...

    【题解】切割绳子

    【题目描述】有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位(直接舍掉2位后的小数)。【输入描述】第一行两个整数N和K(0&l...