要求:中国有句俗语叫“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”,即工作三天,然后再休息两天。问这个人在以后的某一天中是在工作还是在休息。从键盘任意输入一天,编程判断他是在工作还是在休息,如果是在工作,则输出:He is working,如果是在休息,则输出:He is having a rest,如果输入的年份小于1990或者输入的月份和日期不合法,则输出:Invalid input。

---------------------------------------------------------------------------------------------------------------------------------

代码:

#include <stdio.h>

int RN(int year)
{
    if (year % 400 == 0)
    {
        return 1;
    }
    else if (year % 4 == 0)
    {
        return 1;
    }
    return 0;
}

int main()
{
    int year, month, day;
    int x = 0;
    int i, j, k;
    int arr[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

//存入每个月的天数,从arr[1]开始存,方便后续操作

    scanf("%4d-%2d-%2d", &year, &month, &day);
    if (year < 1990 || month < 1 || month > 12 || day < 0 || day > 31)
    {
        printf("Invalid input");
        return 0;
    }
    if (day > arr[month])
    {
        printf("Invalid input");
        return 0;
    }

//判断年月日是否错误

    for (i = 1990; i < year; i++)
    {
        if (RN(i) == 1)
        {
            x = x + 366;
        }
        else
        {
            x = x + 365;
        }
    }

//计算每过一年的天数

    if (RN(year) == 1)
    {
        arr[2] = 29;
    }
    else
    {
        arr[2] = 28;
    }
    for (j = 1; j < month; j++)
    {
        x = x + arr[j];
    }

//计算最后一年每个月的天数

    x = x + day - 1;//加上当前月份的天数
    if (x % 5 == 1 || x % 5 == 2 || x % 5 == 3)//5天为一个循环,看余数
    {
        printf("He is working");
    }
    else
    {
        printf("He is having a rest");
    }
    return 0;
}

C语言数组练习-三天打渔两天晒网相关推荐

  1. 【练习题+1】某人三天打渔两天晒网,假设他从1990年1月1日开始打渔三天,然后晒网两天,请编程回答任意的一天他在打渔还是晒网。

    刚刚开始学习,在题库里面抽到这一题. 某人三天打渔两天晒网,假设他从1990年1月1日开始打渔三天,然后晒网两天,请编程回答任意的一天他在打渔还是晒网. 一个男孩工作3天,而请假2天.如果他在1990 ...

  2. 用java解决三天打渔两天晒网问题

    中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是"晒 ...

  3. 三天打渔两天晒网问题(python)

    三天打渔两天晒网问题其实很简单 和之前一周工作五天休息两天的思路是一样的 只要判断i除以5取的余数大于3还是小于3就可以了 大于等于3就说明休息天到了 代码实现: #DayDayUp.py #数学运算 ...

  4. C语言--PTA三天打渔两天晒网问题

    郭.王两位大侠同上终南山习武,两人最初的战力值均为100.王大侠骨骼清奇,天赋较高,每练功一天,战力增加2‰,郭大侠比较愚笨,每练功一天,战力增加1‰.如果休假一天不练,两人的战力均减少1‰.相较于王 ...

  5. C语言:三天打渔两天晒网

    题目内容: 中国有句俗语叫"三天打鱼两天晒网",某人从1990年1月1日起开始"三天打鱼两天晒网",即工作三天,然后再休息两天.问这个人在以后的某一天中是在工作 ...

  6. LeetCode 三天打渔两天晒网 剩下一天睡大觉

    学习要注意到细处,不是粗枝大叶的,这样可以逐步学习.摸索,找到客观规律 两数之和 难度 : Easy 题目链接: 两数之和 . import java.util.HashMap;/*** @autho ...

  7. 三天打渔两天晒网(python)

    #DayDayUp.py #数学运算的模块 def dayup(df):dayup = 1for i in range(365):if i % 5 >= 3:dayup = dayup*0.99 ...

  8. 三天打渔?还是两天晒网?

    俗话说的好"三天打渔两天晒网",来看看今天的你是在打渔还是晒网呢? 假如2008-8-8(日期)某人在打渔,若从这天开始算,那么2022-10-21是在打渔还是晒网呢? let d ...

  9. 三天打渔,两天晒网Python

    目录 一. 问题解决思路分析 二. 问题解决步骤 第一步:计算出从2010年1月1日起至指定的某天总共有多少天 第二步:判断这个人在指定时间是打渔还是晒网 第三步:完成提高要求 第四步:编写主方法进行 ...

最新文章

  1. 关于ACM写给自己啦
  2. Python:生成两个日期间的随机日期
  3. Linux 空格转换行
  4. JAVA 子父类的特点
  5. 教程:测试期间的日志记录
  6. 使用计算机时 开关机顺序会,电脑如何正确开关机
  7. 2020年11月“省时查报告”十大热门报告盘点(文末附热门报告列表)
  8. 最少硬币找零系列问题(01背包,完全背包,多重背包动态规划)
  9. UNIX会被取代吗?来听听UNIX诞生的见证者怎么说~
  10. ios mysql注册登录界面_iOS学习2:创建属于自己的页面,自定义初始界面
  11. 科比退役原因-数据分析
  12. QQ空间权限限制破解思路
  13. 一个简单的网页设计HTML5作业
  14. 《逆流而上+阿里巴巴技术成长之路》 免费电子版
  15. 社会工程学与APT攻击之——社工防御方法
  16. 呀!原来这就是前端监控系统
  17. 服务器系统盘划分,服务器硬盘分区的划分c区系统区.doc
  18. matlab偏微分图像修复,图像修复 Region filling and object removal by exemplar-based image inpainting matlab实现...
  19. mysql学习第二天
  20. excel省市区提取

热门文章

  1. python alpha策略_量化策略系列教程:04阿尔法策略
  2. 在网页上使用图文混排的编辑器
  3. 多多情报通:拼多多三级处罚能提出店铺保证金吗?怎么申诉?
  4. java pdf转word,没页数限制,去除水印
  5. Numpy大作业之简洁版
  6. 七天强化学习DAY1-1|(一)模型基础
  7. 纯CSS代码写出各种不规则的形状图形
  8. 数字化+信创化强强联合,实在智能为实现国产化价值替代提供强劲动力
  9. TensorFlow实战12:实现基于LSTM的语言模型
  10. Zabbix——通过API接口管理Zabbix所监控主机