首页 > 其他分享 >每日打卡4.17

每日打卡4.17

时间:2023-04-17 20:25:30浏览次数:42  
标签:totalDay 晒网 4.17 int 每日 year 打卡 31 today

一、问题描述:

中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
二、设计思路:

根据题意可以将解题过程分为3步
(1)计算从1990年1月1日开始至指定日期共有多少天。
(2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除。
(3)根据余数判断他是在“打鱼”还是在“晒网”。
若余数为1,2,3,则他是在“打鱼”,否则是在“晒网”。

三、程序流程图

 

 

  

四、代码实现

#include<stdio.h>

typedef struct date {

int year;

int month;

int day;

}DATE;

int countDay(DATE);             /*函数声明*/

int runYear(int);               /*函数声明*/

int main()

{

    DATE today;

    int totalDay;

    int result;

    printf("please input 指定日期 包括年,月,日 如:1999 1 31\n");

    scanf("%d%d%d",&today.year,&today.month,&today.day);

    totalDay=countDay(today);

    result=totalDay%5;

    if(result>0&&result<4)

        printf("今天打鱼");

    else

        printf("今天晒网");

}

int runYear(int year)

{

    if((year==0&&year%100!=0)||(year%4==0))

        return 1;

    else

        return 0;

}

int countDay(DATE currentDay)

{

    int perMonth[13]={0,31,28,31,30,31,30,31,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;

    }

    if(runYear(currentDay.year))

        perMonth[2]+=1;

    for(i=0;i<currentDay.month;i++)

        totalDay+=perMonth[i];

    totalDay+=currentDay.day;

    return totalDay;

}

标签:totalDay,晒网,4.17,int,每日,year,打卡,31,today
From: https://www.cnblogs.com/wanbeibei/p/17327351.html

相关文章

  • 2023.4.17 那是谁 在放古老唱片
    加训大数据结构。「LG6109」[Ynoi2009]rprmq1在一般的矩形修改问题中,有时间,横坐标,纵坐标三维,而这题只有横纵坐标两维,所以这本质上是序列上的问题。如果对于每次查询,都有\(l_1=1\),那么直接扫描线,用线段树维护第二维的历史最大值就好了。对于一般情况,需要在第一维进行分治,用类......
  • 4月17日每日总结
    负责领导团队完成项目,并且担任整个系统的开发负责人。需要具备全栈工程师的技能,了解并掌握前后端技术,包括但不限于数据库设计、API接口设计、服务器搭建、Web开发等方面的知识 ......
  • 第四天打卡
    牛顿迭代求根:#include<stdio.h>#include<math.h>intmain(){ floatsolution(floata,floatb,floatc,floatd); floata,b,c,d,x; scanf("%f%f%f%f",&a,&b,&c,&d); x=solution(a,b,c,d); printf("根为:x=%f",x);}floatsolut......
  • 打卡4
    抓交通肇事犯 #include<stdio.h>intmain(){  inti,j,k,x,flag=0;  for(i=0;i<=9;i++)  {    if(flag)    break;    for(j=0;j<=9;j++)    {      if(flag)      break;      if(i!=j) ......
  • 跨屏零代码saas建站平台2023.4.17发布更新
    跨屏零代码saas建站平台2023.4.17发布更新,对于用户管理后台中的菜单设置做了升级,允许新增菜单并且自定义菜单链接,这样可以让网站菜单变得更加灵活可控,可以满足不同模板中多样的需求,升级以后的网站菜单支持添加菜单,删除菜单,控制菜单是否在导航显示,设置菜单排序,修改菜单名称等。......
  • 每日打卡-6
    一.问题描述一年一度“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有N块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终......
  • C++每日打卡
    计算长方形面积和表面积第一个函数计算长方形的面积,其中x和y是长和宽。第二个函数计算长方体的表面积,x,y和z是长,宽和高。 #include<iostream>#include<string>using namespace std;int area(int x,int y){    int a;    a=x*y;    return a;}int area(in......
  • 4.17每日学习总结
    昨天对页面功能进行一些完善,实现添加了部分功能今天上课时打算与队友进行一些沟通,对一些任务更加明确些,遇到的困难是在查找有效的问题解决方法比较耗费时间。 ......
  • 周一打卡
    1.问题描述:编写程序,实现一个简单的猜数字游戏。程序随机生成一个1~100之间的整数,让玩家猜数字,直到猜中为止。2.设计思路:程序需要用到随机数生成和输入输出。每次猜测后需要进行判断,判断猜测的数字与随机数的大小关系,提供相应提示。直到猜中为止,输出猜测的次数。3.程序流程......
  • 4.17打卡
            二.设计思路1.初始化cock,hen,chicken;2.套入循环①判断cock是否小于等于0,是则进行下一步,否则结束运算;②判断hen是否小于等于33,是则进行下一步,否则cock增加;③判断chicken是否小于等于100,是则进行下一步,否则hen增加;④代入cock,hen和chicken的值进行运算,如果价......