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

思路:1.判断渔夫实在打鱼还是晒网,其实就是计算日期

2.所以就要求我们要进行日期的判断,判断年份是否为闰年

3.求日期距离2011年1月1日有多少天:

首先是判断距离2011有多少年,闰年的年份366,平年的年份355

int leap (int a)
{if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)return 1;elsereturn 0;
} 

其次开始计算月份,月份为m的时候,加上m-1个月份对应的天数

int number (int year, int m, int d)
{int sum = 0, i, j, k, a[12] ={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int b[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (leap(year) == 1)for (i = 0; i <= m - 1; i++)sum += b[i];elsefor (i = 0; i <= m - 1; i++)sum += a[i];sum += d;return sum;
}

最后累加之后,取余来判断是闰年还是平年

if ((n % 5) < 4 && (n % 5) > 0)printf("%d %d %d  打鱼", year, mouth, day);elseprintf("%d %d %d  晒网", year, mouth, day);return 0;

运行结果如下

详细代码如下

#include<stdio.h>
#include<stdlib.h>
int leap (int a)
{if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)return 1;elsereturn 0;
} int number (int year, int m, int d)
{int sum = 0, i, j, k, a[12] ={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int b[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};if (leap(year) == 1)for (i = 0; i <= m - 1; i++)sum += b[i];elsefor (i = 0; i <= m - 1; i++)sum += a[i];sum += d;return sum;
}int main ()
{int year, mouth, day, n;printf ("请输入年月日:\n");scanf ("%d %d %d", &year, &mouth, &day);n = number (year, mouth, day);if ((n % 5) < 4 && (n % 5) > 0)printf("%d %d %d  打鱼", year, mouth, day);elseprintf("%d %d %d  晒网", year, mouth, day);return 0;
}

c语言200例 009 打鱼晒网问题相关推荐

  1. JavaScript网页特效-“渔夫打鱼晒网”程序设计

    程序设计时,把可能需要反复执行的代码封装为函数,然后在需要执行该段代码功能的地方进行调用,这样不仅可以实现代码的复用,更重要的是可以保证代码的一致性,只需要修改该函数代码,则所有调用位置均得到体现.同 ...

  2. C语言练习题 打鱼晒网问题

    题目: 一个渔夫从2011年1月1日起每三天打一次鱼,两天晒一次网,编程实现输入2011年1月1日后任意一天,输出当天是在打鱼还是晒网. 代码: #include <stdio.h> #i ...

  3. 68-C语言-打鱼晒网问题

    问题: 正所谓三天打鱼两天晒网,你成为了一名渔夫,每三天第一次鱼,每两天打一次网,若你从2011年1月1日开始干活,请从键盘输入任意日期,问这天是打鱼还是晒网? 思路: 这个什么时候打鱼,什么时候晒网 ...

  4. 打鱼晒网问题(C++)

    题目链接:https://www.bilibili.com/video/av21356335?p=3 问题描述:某人从1999年1月1日起开始三天打鱼两天晒网,计算输入的日期是打鱼还是晒网 问题分析: ...

  5. python练习, 打鱼晒网问题

    如果一个渔夫从 2011 年 1 月 1 日开始每三天打一次渔,两天晒一次网,编程实现当输入 2011 1 月 1 日以后的任意一天,输出该渔夫是在打渔还是在晒网. import time # 判断是 ...

  6. java捕鱼设计_java实现渔夫打鱼晒网

    package com.example.demo.sample; import java.util.Scanner; /** * Desc :如果一个渔夫从 2015 年 1 月 1 日开始每三天打一 ...

  7. lisp源码 微盘_Lisp-200 LISP源码200例 - 下载 - 搜珍网

    Lisp源码200例/3DIMYX.LSP Lisp源码200例/3DIMZS.LSP Lisp源码200例/AAR.LSP Lisp源码200例/ABL.LSP Lisp源码200例/ABLOCK. ...

  8. C语言试题七十七之请编写函实现渔夫打鱼晒网问题

  9. c语言200例 040 字符升序排列

    要求:将已升序排好的字符串a和字符串b按升序并归到字符串c中输出 思路: 1.因为输入的字符串a和b是有序字符串,所以对数组a和b中的元素逐个比较 2.然后将较小的字符先放到数组c中,直到a或b中有一 ...

最新文章

  1. SpringBoot下的工作流Activiti开发
  2. 升级OS10.11系统后 Xcode6.4的变化少了个按钮 could not launch “Xcode” Xcode 插件安装...
  3. 美团架构师写的Java面试宝典_2019最新美团java面试题及答案
  4. 蓝桥杯基础模块8_1:串口通信收发
  5. Android 属性动画ObjectAnimator使用demo,组合动画
  6. matlab 三维核密度图_Matlab精彩画图示例:三维网状图和三维曲面图
  7. 云+AI+5G时代,华为云已准备好多元化云服务架构
  8. ViewPager 无限循环遇到的坑 viewpager.setOffscreenPageLimit(2);
  9. Android扩展类方法,Android 扩展 uni小程序SDK 原生能力
  10. Java线程:新特征-线程池
  11. dataloader 源码_[莫烦 PyTorch 系列教程] 3.5 – 数据读取 (Data Loader)
  12. Mybatis在XML中写SQL比较运算符<=时报错解决方法
  13. 电工模拟接线软件 app_图文详解:户内配电箱的安装及接线方法 ,电气初学者必看!...
  14. 基于Retrofit框架的金山API翻译功能案例
  15. python gtk_python-gtk学习笔记
  16. 《番茄todo》APP广告的设计与制作
  17. 6.openCV调整图像大小新思路(cv2.resize和imutils.resize)
  18. 当兵的目标和计划_新兵下连时,一定要弄明白这三件事,对新兵及家长来说很有必要...
  19. oracle忘记某个用户密码,Oracle忘记用户名密码怎样恢复
  20. 在大公司做凤尾,还是在小公司做鸡头?如何选择

热门文章

  1. safari 收藏导出 手机safari 导出
  2. 国际数据挖掘顶会 KDD 2019 应用方向冠亚军论文《Actions Speak Louder than Goals: Valuing Player Actions in Soccer》解读
  3. 实弹射击电子报靶最为常见的报靶方式
  4. 单工、半双工和全双工通信的区别
  5. windows xp 驱动开发(五) USB驱动程序、应用软件概述
  6. 2022年江西省信息技术知识竞赛
  7. 快速选择正规的短信平台的方法
  8. 如何增加网站权重?有效提高网站权重的技巧方法
  9. BP汉字识别-GUI界面
  10. shell 二进制 16进制 10进制