一、问题描述

中国有句俗语叫“三天打鱼两天晒网”。某人从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. STL练习-ACboy needs your help again!

      ACboy was kidnapped!! he miss his mother very much and is very scare now.You can't image how dark ...

  2. C# 自定义控件如何正确的继承父类

    C# 自定义控件可以分为三类: 复合控件:基本控件组合而成.应当继承自 UserControl 扩展控件:继承基本控件,扩展一些属性和事件.比如继承 Button 自定义控件:直接继承自 Contro ...

  3. Q:windows系统如何开机启动批处理脚本

    方法1 1.win+r输入gpedit.msc进入本地策略管理器 2.点击windows设置下的脚本(启动/关机),然后双击启动. 3.点击添加,然后点击浏览,选择批处理文件然后点击确定. 方法2 也 ...

  4. mysql修改数据库表及字段的编码格式

    1.修改表的编码格式 ALTER TABLE `table` DEFAULT CHARACTER SET utf8; 2.修改字段编码格式 ALTER TABLE `table` CHANGE `字段 ...

  5. 自行封装JDBCUtils

    自己封装JDBCUtils package com.javasm.util; import com.javasm.bean.Emp; import com.javasm.constants.JDBCC ...

  6. C# EF框架的入门使用

    如何构建数据模型 新建项 ADO.NET 实体模型 设置链接 链接字符串需要选择"是,包含敏感数据 注意:EF的框架引用的表应该要存在主键,程序引用中要包含 using System.Dat ...

  7. 116、商城业务---分布式事务---seata的AT模式存在的问题&&最终一致性库存解锁逻辑

    seata的AT模式不适合高并发的项目,因为它需要加锁来保证回滚.因此我们的订单服务方法中就尽量不能使用@GlobalTransactional来管理分布式事务. 因此在订单服务中,我们使用下面这种方 ...

  8. 使用*打印出2*n-1行的菱形

    /** * @Author * @Description //TODO 2*n+1菱形 * @Date * @Param int * @return **/ public static void pr ...

  9. ArrayList学习

    核心源码 package java.util; import java.util.function.Consumer; import java.util.function.Predicate; imp ...

  10. kong数据库postgre centos安装一条龙

    安装版本可以参考kong.conf PostgreSQL版本,这里要求9.5以上 https://www.cnblogs.com/zhi-leaf/p/11432054.html 安装rpm文件 #y ...