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

【循环】日记第几天

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

【题目描述】

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

【输入描述】

输入三个整数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的数列a[i],求出对于所有1<=i<=n,min(a[1],a[2],...,a[i])的和。由于读入较大,数列由随机种子生成...

    【题解】求最长不下降序列

    【题目描述】设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<…<ie 且有b...

    【题解】大整数加法

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

    【题解】大整数乘法

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

    【算法】最少步数

    【算法】最少步数

    【题目描述】在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知...

    【题解】最小子序列

    【题目描述】给你一个数组 nums,请你从中抽取一个子序列,满足该子序列的元素之和 严格 大于未包含在该子序列中的各元素之和。如果存在多个解决方案,只需返回 长...