C语言数组练习-三天打渔两天晒网
要求:中国有句俗语叫“三天打鱼两天晒网”,某人从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】某人三天打渔两天晒网,假设他从1990年1月1日开始打渔三天,然后晒网两天,请编程回答任意的一天他在打渔还是晒网。
刚刚开始学习,在题库里面抽到这一题. 某人三天打渔两天晒网,假设他从1990年1月1日开始打渔三天,然后晒网两天,请编程回答任意的一天他在打渔还是晒网. 一个男孩工作3天,而请假2天.如果他在1990 ...
- 用java解决三天打渔两天晒网问题
中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是"晒 ...
- 三天打渔两天晒网问题(python)
三天打渔两天晒网问题其实很简单 和之前一周工作五天休息两天的思路是一样的 只要判断i除以5取的余数大于3还是小于3就可以了 大于等于3就说明休息天到了 代码实现: #DayDayUp.py #数学运算 ...
- C语言--PTA三天打渔两天晒网问题
郭.王两位大侠同上终南山习武,两人最初的战力值均为100.王大侠骨骼清奇,天赋较高,每练功一天,战力增加2‰,郭大侠比较愚笨,每练功一天,战力增加1‰.如果休假一天不练,两人的战力均减少1‰.相较于王 ...
- C语言:三天打渔两天晒网
题目内容: 中国有句俗语叫"三天打鱼两天晒网",某人从1990年1月1日起开始"三天打鱼两天晒网",即工作三天,然后再休息两天.问这个人在以后的某一天中是在工作 ...
- LeetCode 三天打渔两天晒网 剩下一天睡大觉
学习要注意到细处,不是粗枝大叶的,这样可以逐步学习.摸索,找到客观规律 两数之和 难度 : Easy 题目链接: 两数之和 . import java.util.HashMap;/*** @autho ...
- 三天打渔两天晒网(python)
#DayDayUp.py #数学运算的模块 def dayup(df):dayup = 1for i in range(365):if i % 5 >= 3:dayup = dayup*0.99 ...
- 三天打渔?还是两天晒网?
俗话说的好"三天打渔两天晒网",来看看今天的你是在打渔还是晒网呢? 假如2008-8-8(日期)某人在打渔,若从这天开始算,那么2022-10-21是在打渔还是晒网呢? let d ...
- 三天打渔,两天晒网Python
目录 一. 问题解决思路分析 二. 问题解决步骤 第一步:计算出从2010年1月1日起至指定的某天总共有多少天 第二步:判断这个人在指定时间是打渔还是晒网 第三步:完成提高要求 第四步:编写主方法进行 ...
最新文章
- 关于ACM写给自己啦
- Python:生成两个日期间的随机日期
- Linux 空格转换行
- JAVA 子父类的特点
- 教程:测试期间的日志记录
- 使用计算机时 开关机顺序会,电脑如何正确开关机
- 2020年11月“省时查报告”十大热门报告盘点(文末附热门报告列表)
- 最少硬币找零系列问题(01背包,完全背包,多重背包动态规划)
- UNIX会被取代吗?来听听UNIX诞生的见证者怎么说~
- ios mysql注册登录界面_iOS学习2:创建属于自己的页面,自定义初始界面
- 科比退役原因-数据分析
- QQ空间权限限制破解思路
- 一个简单的网页设计HTML5作业
- 《逆流而上+阿里巴巴技术成长之路》 免费电子版
- 社会工程学与APT攻击之——社工防御方法
- 呀!原来这就是前端监控系统
- 服务器系统盘划分,服务器硬盘分区的划分c区系统区.doc
- matlab偏微分图像修复,图像修复 Region filling and object removal by exemplar-based image inpainting matlab实现...
- mysql学习第二天
- excel省市区提取