一、问题描述

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

二、设计思路

(1)先输入当前日期,计算该日期与1990年1月1日相隔的天数,并用变量存起来;

(2)相隔的日期对5取余,如果余数为1,2,3,则输出“今天打鱼”,若为4,5,则输出“今天晒网”;

三、程序流程图

四、伪代码

五、代码

 1 #include <iostream>
2 using namespace std;
3 class Date
4 {
5 public:
6 int year;
7 int month;
8 int day;
9 };
10 bool runnian(Date&d)
11 {
12 if ((d.year % 4 == 0 && d.year % 100 != 0) || d.year % 400 == 0)
13 {
14 return true;
15 }
16 else
17 {
18 return false;
19 }
20 }
21 bool runnian(int x)
22 {
23 if ((x % 4 == 0 && x % 100 != 0) || x % 400 == 0)
24 {
25 return true;
26 }
27 else
28 {
29 return false;
30 }
31 }
32 int main()
33 {
34 Date d1;
35 int a[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
36 int count = 0; //用来保存相隔的天数
37 cin >> d1.year;
38 cin >> d1.month;
39 cin >> d1.day;
40 for (int i = 1990; i < d1.year; i++)
41 {
42 if (runnian(i))
43 {
44 count = count + 366;
45 }
46 else
47 {
48 count = count + 365;
49 }
50 }
51 for (int i = 0; i < d1.month; i++)
52 {
53 count = count + a[i];
54 }
55 count = count + d1.day;
56 if (count % 5 == 1 || count % 5 == 2 || count % 5 == 3)
57 {
58 cout << "今天打鱼" << endl;
59 }
60 else
61 {
62 cout << "今天晒网" << endl;
63 }
64
65 return 0;
66 }

六、总结

(1)函数重载的条件:①参数的个数不同,②参数的数据类型不同;

(2)如果一个数据有多个属性和行为,可以用类class来存储;

(3)判断闰年:四年一闰,百年不闰,四百年又闰;

c语言趣味编程(3)打鱼还是筛网的更多相关文章

  1. 【算法】C语言趣味程序设计编程百例精解

    C语言趣味程序设计编程百例精解 C/C++语言经典.实用.趣味程序设计编程百例精解(1)  https://wenku.baidu.com/view/b9f683c08bd63186bcebbc3c. ...

  2. 【转载】ANSYS的APDL与C语言混合编程(实例)

    原文地址:http://www.cnblogs.com/lyq105/archive/2010/05/04/1727557.html 本文讨论的不是利用C语言为ANSYS写扩展(或者说是用户子程序), ...

  3. [收藏转贴]struct探索·extern "C"含义探索 ·C++与C的混合编程·C 语言高效编程的几招

    一.C/C++语言 struct深层探索 1.自然对界 struct是一种复合数据类型,其构成元素既可以是基本数据类型(如 int.long.float等)的变量,也可以是一些复合数据类型(如 arr ...

  4. Mysql C语言API编程入门讲解

    原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程.   ...

  5. 为什么还坚持.NET? 找一门适合自己的语言去做编程

    为什么还坚持.NET? 找一门适合自己的语言去做编程 接触了.NET快十二年了,现在专注于分布式服务的开发. 中间经历过各种编程语言的诱惑,ios等. 前几年才对自己有比较明确的定位 技术上:找到适合 ...

  6. go语言模版编程

    传送门: 柏链项目学院 go语言与模版编程 什么是模版编程 模板是将一个事物的结构规律予以固定化.标准化的成果,它体现的是结构形式的标准化.对于我们程序员来说,更直白的理解是:对于要输出的内容,个人位 ...

  7. Go语言 并发编程

    Go语言 并发编程 作者:Eric 微信:loveoracle11g 1.创建goroutine // 并行 是两个队列同时使用两台咖啡机 // 并发 是两个队列交替使用一台咖啡机 package m ...

  8. C语言socket编程

    建议先去看一下思路 真的写的很不错呦~ 思路参考博客:https://www.cnblogs.com/renfanzi/p/5713054.html linux c语言socket编程代码(单一服务端 ...

  9. 融云开发漫谈:你是否了解Go语言并发编程的第一要义?

    2007年诞生的Go语言,凭借其近C的执行性能和近解析型语言的开发效率,以及近乎完美的编译速度,席卷全球.Go语言相关书籍也如雨后春笋般涌现,前不久,一本名为<Go语言并发之道>的书籍被翻 ...

  10. linux下C语言多线程编程实例

    用一个实例.来学习linux下C语言多线程编程实例. 代码目的:通过创建两个线程来实现对一个数的递加.代码: //包含的头文件 #include <pthread.h> #include ...

随机推荐

  1. 按list大小进行分组

    package cn.tk.netcore.rest;import java.util.ArrayList;import java.util.Arrays;import java.util.List; ...

  2. HashMap中的Entry接口

    利用Entry接口,快速又方便 import java.util.HashMap; import java.util.Map; public class MapDemo { public static ...

  3. Pytorch Cross Entropy

    Entropy Uncetainly measure of surprise higher entropy = less info \[Entropy = -\sum_i P(i)\log P(i) ...

  4. 使用 HTML、CSS 和 JavaScript 制作的随机密码生成器

    ----上图 ------MVC 创建的视图 ,视图名称为A@{ Layout = null;} <!DOCTYPE html><style type="text/css& ...

  5. 思科交换机BGP配置

    拓扑图后期添加 交换机A配置: Console#show running-configBuilding running configuration. Please wait...!!vlan data ...

  6. IDEA快键键设置为Eclipse快捷键

    一.基础修改,参考这个就可以了 https://jingyan.baidu.com/article/6dad5075a5f7b4e122e36e4b.html 二.其他需要手动配置的快捷键修改(主要是 ...

  7. STM32 系统初始化

    #include "system.h" void system_init(void){ //系统中断设置,抢占优先级0~15,无子优先级 NVIC_PriorityGroupCon ...

  8. 【WEB UI自动化】Selenium爬取用户的知乎回答时遇到10002:请求参数异常,请升级客户端后重试

    这里分享一个低配版知乎爬虫,利用了Selenium模块 爬取的过程中遇到了10002:请求参数异常,请升级客户端后重试,调用知乎某用户的回答API返回的HTTP状态码是403 Forbidden 之后 ...

  9. Spring 的核心组件详解

    Spring 总共有十几个组件,但是真正核心的组件只有三个:Core.Context 和 Bean.它们构建起了整个 Spring的骨骼架构,没有它们就不可能有 AOP.Web 等上层的特性功能. 一 ...

  10. Sentinel 流量控制

    一.Sentinel 介绍 Sentinel 是阿里巴巴出品的面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从限流,流量整形.熔断降级.系统负载保护等多个维度来保障微服务的稳定性.主页地 ...