如果一个渔夫从2011年1月1日开始每三天打一次渔,两天晒一次网,编程实现当输入2011年1月1日以后任意一天,输出该渔夫是在打渔还是在晒网。
代码如下:
#include <stdio.h> int leap(int a) /*自定义函数leap()用来指定输入的年份是否为闰年*/ { if((a%4 == 0 && a%100 != 0 )|| a%400 == 0) /*闰年判断条件*/ return 1; /*是闰年返回1*/ else return 0; /*不是闰年返回0*/ } int number(int year,int m,int d) /*自定义函数number()计算输入日期距2011年1月1日共有多少天*/ { int sum = 0,i,j,k,a[12]= { 31,28,31,30,31,30,31,31,30,31,30,31 }; /*数组a存放平年每月天数*/ int b[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 }; /*数组b存放闰年每月的天数*/ if(leap(year) == 1) /*判断是否为闰年*/ for(i = 0;i < m - 1;i++) sum += b[i]; /*是闰年,累加数组b前m-1个月份的天数*/ else for(i = 0;i < m - 1;i++) sum += a[i]; /*不是闰年,累加数组a前m-1个月份的天数*/ for(j = 2011;j<year;j++) if(leap(j) == 1) sum += 366; /*2011年到输入的年份就是闰年的加366*/ else sum += 365; /*2011年到输入的年份不是闰年加365*/ sum += d; /*将前面累加的结果加上日期,求出总天数*/ return sum; /*返回计算的天数*/ } int main() { int year,month,day,n; printf("请输入年月日\n"); scanf("%d%d%d",&year,&month,&day); /*输入年月日*/ n = number(year,month,day); /*调用函数number()*/ if((n%5) < 4 && (n%5) > 0) /*当余数是1或2或3时说明在打渔,否则在晒网*/ printf("%d-%d-%d 打渔\n",year,month,day); else printf("%d-%d-%d 筛网\n",year,month,day); }
运行结果:
请输入年月日
2015 5 5
2015-5-5 打渔
相关推荐
6. 算法设计:打鱼晒网问题可能涉及到简单的贪婪算法,即每一步都选择当前看起来最优的选择(例如,如果天气晴朗就去打鱼,否则晒网)。然而,也可能需要更复杂的策略,如动态规划或模拟退火等,以应对更为复杂的...
【C语言算法练习之打鱼还是晒网】的题目是一个基于日期和周期的逻辑问题,要求根据“三天打鱼两天晒网”的规律判断在给定日期是打鱼还是晒网。这个问题涉及到C语言的日期计算、循环、条件判断以及算法设计。 首先,...
【C语言-打鱼晒网问题,带代码】是一个经典的编程问题,主要涉及算法设计和逻辑推理。问题的核心是计算渔夫在有限时间内捕获所有鱼所需的最少天数。问题的背景是渔夫每天可以捕捞一次,但之后需要休息一段时间(晒网...
8. 打鱼还是晒网:一个逻辑判断问题,通过编程算法来判断某人的行为模式。 9. 抓交通肇事犯:通过已知信息模拟和预测犯罪行为,是一种基于数据的预测算法。 10. 怎样存钱利最大:涉及到资金的时间价值计算,能够...
9. 打鱼还是晒网:可能是一个决策问题,涉及时间管理和收益最大化。 10. 抓交通肇事犯:可能涉及到图论和最短路径算法,如Dijkstra或Floyd-Warshall。 11. 该存多少钱:理财问题,可能涉及到复利计算和最优投资...
某人从 1990年 1月 1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。 根据题意可以将解题过程分为三步: 1)计算从 1990年 1月 1日开始至指定日期共有多少天; 2)由于“打鱼”和...
在本C语言算法合集中,我们涵盖了多个经典算法和数据结构的应用,这些是计算机科学的基础,对于学习和提升编程技能至关重要。以下将详细介绍其中涉及的知识点: 1. **最大公约数(Greatest Common Divisor, GCD)与...
4. C语言渔夫打鱼晒网问题 知识点:日期计算、算法、输出格式 该实例要求编写程序实现当输入2011年1月1日以后的任意一天,输出该渔夫是在打渔还是在晒网。 5. C语言希尔排序算法 知识点:排序算法、数组、交换...
077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 自守数 082 具有abcd=(ab+cd)2性质的数 083 验证歌德巴赫猜想 084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 ...
* 程序思路:使用C语言的数学库函数,计算打鱼还是晒网的概率,学习算法的应用。 2.2 抓交通肇事犯 * 知识点:数组、字符串处理 * 程序思路:使用C语言的数组和字符串处理函数,实现抓交通肇事犯的统计。 2.3 该...
2. **条件判断**:`if`语句用于判断当前天数是否属于"打鱼"或"晒网"的状态。可以设置一个计数器来记录符合模式的周期数。 3. **变量和数据类型**:需要定义整型变量存储天数、周期数以及当前状态(工作或休息)。...
包括绘制余弦曲线和直线、验证歌德巴赫猜想、计算高次方数的尾数、打鱼还是撒网、百钱百鸡问题等。这些实例不仅增加了编程的趣味性,同时也展示了C语言强大的计算能力。 书中还包含了一些C语言特有的知识点,如通过...
文件实现了某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。它实现了一下要求: 基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。 提高要求...
“三天打鱼两天晒网”问题是一个数学题目,要求计算小强在以后的某一天中是在“打鱼”,还是在“晒网”。解决这个问题需要使用数学知识,例如周期函数。 9. 桌子上的人数问题 知识点:算法、数据结构、组合数学 ...
6. 游戏和谜题:如打鱼还是晒网、迷语博士的难题、黑白子交换等,这些题目增加了趣味性,同时也涉及到决策和搜索算法。 7. 算法优化问题:如汉诺塔、兔子产子等,这些题目通常需要递归或迭代算法来解决,同时考察了...
首先,问题描述指出,渔民的活动周期是连续的五天,其中三天用于打鱼,两天用于晒网。我们需要计算在给定的天数内,按照这个规律,渔民能打鱼的天数。问题分析中提到,可以通过计算完整的五天周期数量和剩余的天数来...
9. **优化计算**:"打鱼还是晒网"、"怎样存钱利最大"等题目需要考虑实际生活中的决策问题,并且可能需要计算复利、最优化算法等。 10. **递归与循环**:"九位累进可除数"可能需要使用递归或循环结构来寻找满足特定...
实例017 打渔晒网问题 20 实例018 判断三角形的类型 22 实例019 直接插入排序 23 实例020 希尔排序 25 实例021 冒泡排序 26 实例022 快速排序 27 实例023 选择排序 28 实例024 归并排序 29 实例025 二分查找 31 实例...
《C语言实现贪吃蛇游戏详解》 贪吃蛇游戏是一款经典的计算机程序,它源于早期的电子游戏,因其简单易上手和趣味性而深受玩家喜爱。本项目以C语言为编程工具,通过分析和实践,我们将深入理解游戏背后的逻辑和编程...