3rd
打鱼还是晒网
核心部分 计算1990年1月1日 到指定某天的有多少天
int year month day
1.首先 输入指定日期
算出相隔年数
y=year-1990
int DAY
要考虑其中的是否含闰年,并含几个闰年。
for(int i=0;i<=y;i++){
如果 1990+i是闰年
则DAY+=366;
else
DAY+=365
}
2算出相隔月数
Month[13]={0 ,31,28, 31, 30, 31 ,30,31,31,30,31,30,31}
Month_[13]={0 ,31,29, 31, 30, 31 ,30,31,31,30,31,30,31}
m=month - 1;//差几个月
for(int j=0;j<m;j++){
如果当前年份不是是闰年
DAY +=Month[i];
else{
DAY+=Month_[i];}
3天数
DAY+= 当前天数-1;
源码:
#include <iostream>
using namespace std;
int date(int year,int yue,int ri);
int main(){
int t1,t2,t3;
cin>>t1>>t2>>t3;
int days=date(t1,t2,t3);
int c=days%5;
if(c==1||c==2||c==3){
cout<<"打鱼";
}
else{
cout<<"晒网";
}
return 0;
}
int date(int year,int yue,int ri){
int DAY=0;
int Year=year-1990;
if(Year!=0){
for(int i=1;i<=Year;i++){
if((1990+i)%400!=0)
DAY+=365;
else
DAY+=366;
}
}
int month[13]={0,31,28,31,30,31,30,31,31,30,30,31};
int month_[13]={0,31,29,31,30,31,30,31,31,30,30,31};
int Month=yue-1;
for(int i=0;i<Month;i++){
if((year%400==0)||((year%100!=0)&&(year%4==0))){
DAY+=month_[i];
}
else
DAY+=month[i];
}
int day=ri-1;
DAY+=day;
return DAY;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?