核OJ_核桃编程 - 蓝桥真题题库#LQ1069. t49 [中级组]算天数

该篇文章介绍了如何使用C++编程语言计算给定未来某一天与2022年1月1日之间的天数差,并确定星期,通过判断闰年和月份天数进行计算。
摘要由CSDN通过智能技术生成

网址:

点我

题目描述

用户输入未来的某一天,输入格式为如 2021 6 1,编程计算这一天和2022.1.1相差多少天?(例如:今天和明天是相差一天)那一天是星期几?(注意:输出格式为 星期的数字值并在其前加“*”,星期天用7表示)

输入格式

共一行,三个整数:Y、M、D,分别代表未来某天的年、月、日。

输出格式

共两行第一行一个整数,表示一个未来某天和今2022.1相差天数.第二行一个“*”和一个整数,表示未来某天星期几。

输入数据 1

2022 1 2

输出数据 1

1
*7

数据规模与约定

对于 100% 的数据,2022≤Y≤3000、1≤M≤12、1≤D≤31

这题很简单,直接上代码:

#include<bits/stdc++.h>
using namespace std;
long long y,m,d,ans,x=6,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每月天数
int main(){
	cin>>y>>m>>d;//输入年月日
	for(int i=2022;i<y;i++){
		if((i%4==0&&i%100!=0)||i%400==0) ans+=366;//判断闰年
		else ans+=365;
	}
	ans+=d-1;
	if((y%4==0&&y%100!=0)||y%400==0) a[2]+=1;
	for(int i=1;i<m;i++) ans+=a[i];
	cout<<ans<<endl;//过了多少天
	x+=ans;
	x%=7;//计算是星期几
	if(x==0) cout<<"*"<<7;//周日要单独判断
	else cout<<"*"<<x;//其它周几
	return 0;
}

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值