首页 > 其他分享 >打鱼还是晒网

打鱼还是晒网

时间:2023-04-14 21:57:52浏览次数:28  
标签:1990 还是 打鱼 int 日期 result today 晒网

一、问题描述:

中国有句俗话叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天种是“打鱼”还是“晒网”。

二、设计思路:

1、输入当前日期today。

2、求出指定日期距离1990年1月1日的天数totalday。

3、将天数与5进行求余计算。

4、如果余数为1、2、3则输出今天大鱼;如果余数为4或5则输出今天晒网。

三、程序流程图:

 

 

四、代码实现:

#include<stdio.h>
typedef struct date{
int year;
int month;
int day;
}DATE;
int countDay(DATE);/*函数声明*/
int runYear(int);/*函数声明*/
void main()
{
DATE today;/*指定日期*/
int totalDay;/*指定日期距离1990年1月1日的天数*/
int result;/*todalDay对5求余的结果*/
/*输入指定日期,包括年,月,日*/
printf("please input 指定日期 包括年,月,日 如1990 1 31\n");
scanf("%d%d%d",&today.year,&today.month,&today.day);
/*求指定日期距离1990年1月1日的天数*/
totalDay=countDay(today);
/*天数%5,判断输出打鱼还是晒网*/
result=totalDay%5;
if(result>0&&result<4)
printf("今天打鱼");
else
printf("今天晒网");
}
/*判断是否为闰年,是返回1,否返回0*/
int runYear(int year)
{
if((year%4==0&&year%100!=0)||(year%400==0))
return 1;
else
return 0;
}
/*计算指定日期距离1990年1月1日的天数*/
int countDay(DATE currentDay)
{
int perMonth[13]={0,31,28,30,31,30,31,30,31,30,31,30};/*每月天数数组*/
int totalDay=0,year,i;
/*求出指定日期前的每一天的天数累加和*/
for(year=1990;year<currentDay.year;year++)
{
if(runYear(year))
totalDay=totalDay+366;
else
totalDay=totalDay+365;
}
/*如果为闰年,则2月份为29天*/
if(runYear(currentDay.year))
perMonth[2]+=1;
/*将本年内的天数累加到totalDay中*/
for(i=0;i<currentDay.month;i++)
totalDay+=perMonth[i];
/*将本月内的天数累加到totalDay中*/
totalDay+=currentDay.day;
/*返回totalDay*/
return totalDay;
}

 

标签:1990,还是,打鱼,int,日期,result,today,晒网
From: https://www.cnblogs.com/jais/p/17320052.html

相关文章

  • 三天打鱼两天晒网
    #include<stdio.h>typedefstructdate{ intyear,month,day;}DATE;intrunYear(intyear){ if(year%4==0&&year%100!=0||year%400==0) return1; //闰年 elsereturn-1; }intcountday(intyear,intmonth,intday){ int......
  • 打鱼还是晒网?
     中国有句俗话叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。 1.建立结构体Date其中包含year,month,day,三项。 2.计算输入日期距离1990.1.1的总共天数; 3用总共的天数对5(活动的一个周期)取余,若余数......
  • 打鱼还是晒网问题
    一、问题描述一个渔夫从1990年1月1日起开始“三天打鱼两天晒网”,问这人在以后的某一天是打鱼还是晒网二、设计思路:1:要求出总天数;2:考虑到闰年和平年的二月天数不同;3:打鱼还是晒网主要是找一个周期,明显为5,对5求余找余数;  三、程序流程图 四、代码实现#include<stdi......
  • 打鱼还是晒网?
    #include<stdio.h> typedefstructdate { intyear; intmonth; intday; }DATE; intrunyear(intyear) { if((year%4==0&&year%100!=0)||(year%400==0)) return1; else return0; } intcountday(DATEcurrentday) { intpermonth[13]={0,31,28,3......
  • day 3 *打鱼与晒网
      设计思路:1.给出一个天数。2.判断距离目标的天数。3.用距离天数%5,进行判断。  #include<iostream>usingnamespacestd;intsum=0;intstatemonth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};intLday(intyear,intmonth,intday){sum+=365*year;for(in......
  • 国内好用的API平台,还是BAT的实力最强
    应用程序编程接口API即(ApplicationProgrammingInterface),现在众多企业的应用系统中常用的开放接口,对接相应的系统、软件功能,简化专业化的程序开发。下面这些厂商提供的API都不错,比如:百度API、阿里云API、腾讯云API、聚合API传送门国内好用的API平台,还是BAT的实力最强......
  • 打鱼还是晒网
    中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”?首先输入判断的年份和日期,根据输入的年份和日期计算出距离1990年1月1日的天数,由于打鱼和晒网的天数一个周期为五天,用计算的天数除以5余数,若余......
  • Java到底是值传递还是引用传递?
    1.什么是形参和实参形参:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的。实参:就是实际参数,用于调用时传递给方法的参数。实参在传递给别的方法之前是要被预先赋值的。/***@author一灯*@apiNoteJava传递示例**/publicclassDemo{......
  • 如何查看Linux发行版本是Ubuntu还是CentOS
     https://askubuntu.com/questions/459402/how-to-know-if-the-running-platform-is-ubuntu-or-centos-with-help-of-a-bash-scri HowtoknowiftherunningplatformisUbuntuorCentOSwithhelpofaBashscript? OS_NAME=$(lsb_release-si)case"$OS_N......
  • 低代码开发,是稳扎稳打还是饮鸩止渴?
    2023年,从业者对低代码的发展充满了想象,人们认为,未来低代码它的商业价值不可估量。据Gartner的最新报告显示,到2023年,全球低代码开发技术市场规模预计将达到269亿美元,比2022年增长19.6%。随着数字化进入深水区,企业碎片化、个性化、临时化的需求不断涌现,而无论传统应用还是SaaS服......