c语言趣味编程(3)打鱼还是筛网
一、问题描述
中国有句俗语叫“三天打鱼两天晒网”。某人从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)打鱼还是筛网的更多相关文章
- 【算法】C语言趣味程序设计编程百例精解
C语言趣味程序设计编程百例精解 C/C++语言经典.实用.趣味程序设计编程百例精解(1) https://wenku.baidu.com/view/b9f683c08bd63186bcebbc3c. ...
- 【转载】ANSYS的APDL与C语言混合编程(实例)
原文地址:http://www.cnblogs.com/lyq105/archive/2010/05/04/1727557.html 本文讨论的不是利用C语言为ANSYS写扩展(或者说是用户子程序), ...
- [收藏转贴]struct探索·extern "C"含义探索 ·C++与C的混合编程·C 语言高效编程的几招
一.C/C++语言 struct深层探索 1.自然对界 struct是一种复合数据类型,其构成元素既可以是基本数据类型(如 int.long.float等)的变量,也可以是一些复合数据类型(如 arr ...
- Mysql C语言API编程入门讲解
原文:Mysql C语言API编程入门讲解 软件开发中我们经常要访问数据库,存取数据,之前已经有网友提出让鸡啄米讲讲数据库编程的知识,本文就详细讲解如何使用Mysql的C语言API进行数据库编程. ...
- 为什么还坚持.NET? 找一门适合自己的语言去做编程
为什么还坚持.NET? 找一门适合自己的语言去做编程 接触了.NET快十二年了,现在专注于分布式服务的开发. 中间经历过各种编程语言的诱惑,ios等. 前几年才对自己有比较明确的定位 技术上:找到适合 ...
- go语言模版编程
传送门: 柏链项目学院 go语言与模版编程 什么是模版编程 模板是将一个事物的结构规律予以固定化.标准化的成果,它体现的是结构形式的标准化.对于我们程序员来说,更直白的理解是:对于要输出的内容,个人位 ...
- Go语言 并发编程
Go语言 并发编程 作者:Eric 微信:loveoracle11g 1.创建goroutine // 并行 是两个队列同时使用两台咖啡机 // 并发 是两个队列交替使用一台咖啡机 package m ...
- C语言socket编程
建议先去看一下思路 真的写的很不错呦~ 思路参考博客:https://www.cnblogs.com/renfanzi/p/5713054.html linux c语言socket编程代码(单一服务端 ...
- 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
2007年诞生的Go语言,凭借其近C的执行性能和近解析型语言的开发效率,以及近乎完美的编译速度,席卷全球.Go语言相关书籍也如雨后春笋般涌现,前不久,一本名为<Go语言并发之道>的书籍被翻 ...
- linux下C语言多线程编程实例
用一个实例.来学习linux下C语言多线程编程实例. 代码目的:通过创建两个线程来实现对一个数的递加.代码: //包含的头文件 #include <pthread.h> #include ...
随机推荐
- 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 ...
- C# 自定义控件如何正确的继承父类
C# 自定义控件可以分为三类: 复合控件:基本控件组合而成.应当继承自 UserControl 扩展控件:继承基本控件,扩展一些属性和事件.比如继承 Button 自定义控件:直接继承自 Contro ...
- Q:windows系统如何开机启动批处理脚本
方法1 1.win+r输入gpedit.msc进入本地策略管理器 2.点击windows设置下的脚本(启动/关机),然后双击启动. 3.点击添加,然后点击浏览,选择批处理文件然后点击确定. 方法2 也 ...
- mysql修改数据库表及字段的编码格式
1.修改表的编码格式 ALTER TABLE `table` DEFAULT CHARACTER SET utf8; 2.修改字段编码格式 ALTER TABLE `table` CHANGE `字段 ...
- 自行封装JDBCUtils
自己封装JDBCUtils package com.javasm.util; import com.javasm.bean.Emp; import com.javasm.constants.JDBCC ...
- C# EF框架的入门使用
如何构建数据模型 新建项 ADO.NET 实体模型 设置链接 链接字符串需要选择"是,包含敏感数据 注意:EF的框架引用的表应该要存在主键,程序引用中要包含 using System.Dat ...
- 116、商城业务---分布式事务---seata的AT模式存在的问题&&最终一致性库存解锁逻辑
seata的AT模式不适合高并发的项目,因为它需要加锁来保证回滚.因此我们的订单服务方法中就尽量不能使用@GlobalTransactional来管理分布式事务. 因此在订单服务中,我们使用下面这种方 ...
- 使用*打印出2*n-1行的菱形
/** * @Author * @Description //TODO 2*n+1菱形 * @Date * @Param int * @return **/ public static void pr ...
- ArrayList学习
核心源码 package java.util; import java.util.function.Consumer; import java.util.function.Predicate; imp ...
- kong数据库postgre centos安装一条龙
安装版本可以参考kong.conf PostgreSQL版本,这里要求9.5以上 https://www.cnblogs.com/zhi-leaf/p/11432054.html 安装rpm文件 #y ...