C语言,中国有句俗语:“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天是在“打鱼”还是在“晒网”?
#include<stdio.h>
long y_tianshu(int y);
int n_tianshu(int y, int n);
int T(int y, int n,int d);
long y_tianshu(int y)//计算当年之前的天数
{
long a=0;
if (y == 1990) a = 0;
else if (y == 1991) a = 365;
else if (y == 1992) a = 365 * 2;
else if (y == 1993) a = 365 * 2 + 366;
else if (y > 1993 && y < 1997)
a = 365 * 2 + 366 + (y - 1993) * 365;
else if (y >= 1997)
a = 365 * 2 + 366 + (y - 1993) * 365 + (y - 1993) / 4;
return a;
}
int n_tianshu(int y, int n)//计算在本年,当月之前的天数
{
int s; int b=0;
for (int a = 1; a <= n - 1; a++)
{
switch (a)//根据月份判断天数
{
case 1:s = 31; break; case 2:s = 28; break;
case 3:s = 31; break; case 4:s = 30; break;
case 5:s = 31; break; case 6:s = 30; break;
case 7:s = 31; break; case 8:s = 31; break;
case 9:s = 30; break; case 10:s = 31; break;
case 11:s = 30; break; case 12:s = 31; break;
}
if (a == 2)//判断闰年2月差异
{
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
s = 29;
else
s = 28;
}
b = b + s;
}
return b;
}
int T(int y, int n,int d)//判断输入的月份的天数是否正确
{
int s=0;
switch (n)//根据月份判断天数
{
case 1:s = 31; break; case 2:s = 28; break;
case 3:s = 31; break; case 4:s = 30; break;
case 5:s = 31; break; case 6:s = 30; break;
case 7:s = 31; break; case 8:s = 31; break;
case 9:s = 30; break; case 10:s = 31; break;
case 11:s = 30; break; case 12:s = 31; break;
}
if (n == 2)//判断闰年2月差异
{
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
s = 29;
else
s = 28;
}
if (d <= s) return 0;
else return 1;
}
void main()
{
int y, n, d;
while (1)
{
scanf_s("%d-%d-%d", &y, &n, &d);//输入时间
while (y <= 0 || n <= 0 || d <= 0 || y < 1990||T(y, n, d)||n>12)
{ //控制输入的数据为正,并且在1990之后
//控制相应月份对应所具有的相应天数
printf("input error!please re-input:\n");
scanf_s("%d-%d-%d", &y, &n, &d);
}
long a = y_tianshu(y) + n_tianshu(y, n) + d;
a = a % 5;
if (a <= 3&&a>0) printf("他在打鱼\n");//利用总日子除以5的余数判断
else printf("他在晒网\n");
}
}
C语言,中国有句俗语:“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天是在“打鱼”还是在“晒网”?的更多相关文章
- 【每日一题】【找到位置返回&升序数组中第K大就是n-K小】2022年1月17日-NC88 寻找第K大
描述有一个整数数组,请你根据快速排序的思路,找出数组中第 k 大的数. 给定一个整数数组 a ,同时给定它的大小n和要找的 k ,请返回第 k 大的数(包括重复的元素,不用去重),保证答案存在. 方法 ...
- C语言学习笔记:15_c语言中的进制操作.c
/* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...
- YTU 2811: 打鱼还是晒网
2811: 打鱼还是晒网 时间限制: 1 Sec 内存限制: 128 MB 提交: 192 解决: 150 题目描述 中国有句俗话"三天打鱼,两天晒网".小王从2000年的1月 ...
- 3道acm简单题(2011):1.判断是否能组成三角形;2.判断打鱼还是晒网;3.判断丑数。
//1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形.//思路:最小的两边之和是否是大于第三边#include<iostream>#include<algorithm& ...
- c语言中实现从0-1的随机数输出
原文:c语言中实现从0-1的随机数输出 今天晚上同学问了一个巨简单的问题,问我怎么用c语言输出0-1的随机数,可别说,一时之间还想不出来.在写的过程中发现,直接调用random函数还不能实现,用以下方 ...
- C语言中时钟编程
目录 C语言中时钟编程 1. 文章目的 2.基本概念 2.1 UTC时间 2.2 UNIX纪元时间 2.3 格林威治时间 (GMT) 3.时间转换 3.1 asctime函数 3.2 ctime函数 ...
- C语言中一个语句太长用什么换行?
C语言中一个语句太长用什么换行? 5 C语言中一个语句太长用什么换行?比如我有一个printf语句很长很长,问了美观,我不想写在这一行了,要换到下一行,是不是在这行结尾的时候,要用个什么标识来表 ...
- C语言:渔夫打鱼晒网问题
//如果一个渔夫从 2011 年 1 月 1 日开始三天打渔,两天晒网,编程实现当输入 2011 1 月 1 日以后的任意一天,输出该渔夫是在打渔还是在晒网. #include <stdio.h ...
- 在Go语言中记录log:seelog包
前两周调bug调的吐血,虽然解决了但是还是挺浪费时间的.跟同事聊了聊,觉得我们现在项目中的日志记录太少了,导致出了问题不知道怎么下手,还得自己改代码记录日志,然后排查问题.这样如果将来还有bug的话还 ...
- R语言学习笔记1——R语言中的基本对象
R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...
随机推荐
- java.sql.SQLException: ORA-28040: 没有匹配的验证协议
一直以来用的都是服务器上的Oracle数据库,今天改成连接本地Oracle 12c数据库是出问题了.hibernate连接Oracle12c时出现 java.sql.SQLException: ORA ...
- 代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集 1. 两数之和
242.有效的字母异位词 卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处. 题目链接/文章讲解/视频讲解: https://programmercarl.com ...
- 如何操作(增、删、改、查)常见的 HTML 元素呢?(包含原生 js 和 JQuery 语法对照)
一.通用的操作示例 1.查询 根据 id 查询(结果为单个对象) // 原生 js 写法 var elementobj = document.getElementById("elementi ...
- Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明
目录 Hi3798MV200 恩兔N2 NS-1 (一): 设备介绍和刷机说明 Hi3798MV200 恩兔N2 NS-1 (二): 制作 Ubuntu rootfs Hi3798MV200 恩兔N2 ...
- Linux:通过ssh访问虚拟机
好记性抵不过烂笔头.(过段时间用的时候,总要百度一下,别费这个时间了) 语法: ssh -p port username@IP #默认22端口,可省略"-p port",即:ssh ...
- C++函数参数匹配规则
C++ 函数参数匹配 1 单个参数匹配 void f(); //f1 void f(int); //f2 void f(int, int); //f3 void f(double, double=3. ...
- 面霸的自我修养:synchronized专题
王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是<面霸的自我修养>的第3弹,内容是Java并发编程中至关重要的关键字synchroni ...
- Solidity-变量和数据类型[基本类型]
在solidity语言中,变量和数据类型分为三类:基本类型(bool.int.address等),复合类型(array.struct.mapping等)和特殊类型(enum.function.modi ...
- Kafka Stream 处理器API
6.1章节内容 了解如何使用处理器API对以下场景进行处理 ①以有规律的间隔定期执行 ②将控制记录如何向下游发送 ③将记录转发给特定的子节点 ④创建Kafka Streams API中不存在的功能 6 ...
- 小知识:将普通用户加入到docker组
新的OCI实例,OS选择的是OEL7.9,初始环境是没有安装docker的,我们可以直接使用yum安装,之后启动docker服务: [opc@oci-001 ~]$ sudo yum install ...