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

【循环】日记第几天

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

【题目描述】

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

【输入描述】

输入三个整数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;
}



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

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

    分享给朋友:

    相关文章

    整理药名

    【题目描述】医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、...

    【题解】区间数位个数

    区间数位个数(digit.cpp)【描述】给定整数n和整数k,求出1~n中所有数的每一位数字中,出现数字k的次数。【输入】第一行是两个个整数n和k【输出】一个整数表示答案。【样例输入输出】light....

    【题解】放苹果(1)

    【题目描述】把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。【输入】第一行是测试数据的数目t(0≤t≤20)。以下...

    【题解】石子合并

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

    【题解】黑白棋子移动

    【题目描述】有2n个棋子(n≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,如下图为n=5的情形:○○○○○●●●●●移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可...

    糖果传递

    题目描述有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。输入格式第一行一个正整数n≤1000000,表示小朋友的个数.接下来n行,每行一个整数ai,表...