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

【题解】结构体与闰年

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

【题目描述】

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

【输入描述】

年月日

【输出描述】

当年第几天

【样例输入】

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;

}


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

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

    分享给朋友:

    相关文章

    【题解】取余运算

    【题目描述】输入b,p,k的值,求bp mod k的值。其中b,p,k×k为长整型数。【输入描述】输入b,p,k的值。【输出描述】求 b^p mod k的值。【样例输入】2 10 ...

    【题解】2001-T1 数的计数

    【题目描述】我们要求找出具有下列性质数的个数(包含输入的自然数nn):先输入一个自然数n(n≤1000)n(n≤1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个...

    【题解】核电站问题

    【题目描述】一个核电站有N个放核物质的坑,坑排列在一条直线上。如果连续3个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质。现在,请你计算:对于给定的N,求不发生爆炸的放置核物质的方案总数...

    【题解】银行排队

    【题目描述】我们大多都有在银行排队的经历,唉,那坑爹的排队啊!现在就让我们来算算我们这些客户平均需要等多久吧。每天刚开始时银行会开m个窗口来为我们total个客户办理业务,当有客户需要办理业务时,先选...

    【题解】王国比赛

    【题解】王国比赛

    【题目描述】智慧之王 Kri 统治着一座王国。 这天 Kri 决定举行一场比赛,来检验自己大臣的智慧。 比赛由 n道判断题组成,有 m位大臣参加。现在你已经知道了所有大臣的答题情况,但尚未拿到答...

    连词成句

    【题目描述】有一天,毛毛上课的时候遇到了一个难题,老师让同学们把黑板上的单词连成一句话。已知连词的规则是:从待选词中选出正确的单词按照顺序输出,“正确的单词”表示除第一个单词外,其余单词都是小写字母,...