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

【循环】日记第几天

亿万年的星光3年前 (2023-07-24)题解目录3306

【题目描述】

小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。

【输入描述】

输入三个整数y,m,d分别表示年月日,数据均在int范围内。

【输出描述】

输出一个整数,表示这是今年的第几天。

【样例输入】

2018 1 1

【样例输出】

1

【参考答案】

#include<iostream>
using namespace std;
int main(){
	int year,month,day;//年月日 
	cin>>year>>month>>day; 
	int flag=1; //0表示平年,1表示闰年 
	int sum=0; //用来记录天数 
	//判断闰年
	if((year%4!=0)||(year%100==0&&year%400!=0)){
		flag=0; 
	} 
	//从1开始,循环到上一个月份,最后一个月份单独加 
	for(int i=1;i<month;i++){
		if(i==1 || i==3 ||i==5 || i==7 || i==8 || i==10 || i==12){
			sum+=31;  //1,3,5,7,8,10,12月份加31天 
		}else if(i==2){
			//2月份特判一下
			if(flag==1){
				sum+=29;
			} else{
				sum+=28;
			}
		}else{
			//最后如果是其他月份, 
			sum+=30; 
		} 
	}
	//最后,单独加一下 day
	sum+=day; 
	cout<<sum<<endl;
	return 0;
}



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

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

分享给朋友:

相关文章

【题解】石子合并(环形)

【题目描述】在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。试设计出一个算法,计算出将 N 堆石子合并...

【题解】小X与机器人

【题解】小X与机器人

【题目描述】小X的老师很喜欢围棋。众所周知,围棋的棋盘有19行19列,共有361个交叉点。为方便起见,我们把这些行列按顺序编号为1~19,并用(x, y)表示第x列第y行的位置。例如下图中,A用(16...

【题解】约瑟夫问题2

【题解】约瑟夫问题2

【题目描述】M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。求使M个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。【输入描述】 ...

【题解】搭配购买

【题目描述】Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有n朵云,云朵被编号为1,2,…,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配...

【题解】建设病房

1.建设病房(build.cpp)【题目描述】2020年1月23日下午,武汉市建设局紧急召集中建三局等单位举行专题会议,要求参照2003年抗击非典期间北京小汤山医院模式,在武汉职工疗养院建设火神山医院...

【题解】木材加工

【题目描述】 木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头(木头有可能有剩余),需要得到的小段的数目是事先给定的,切割时希望得到的小段越长越好。   ...