`
qiufeihu
  • 浏览: 34310 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C语言算法之打渔晒网问题

阅读更多

如果一个渔夫从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语言算法练习之打鱼还是晒网.docx

    【C语言算法练习之打鱼还是晒网】的题目是一个基于日期和周期的逻辑问题,要求根据“三天打鱼两天晒网”的规律判断在给定日期是打鱼还是晒网。这个问题涉及到C语言的日期计算、循环、条件判断以及算法设计。 首先,...

    C语言-打鱼晒网问题,带代码

    【C语言-打鱼晒网问题,带代码】是一个经典的编程问题,主要涉及算法设计和逻辑推理。问题的核心是计算渔夫在有限时间内捕获所有鱼所需的最少天数。问题的背景是渔夫每天可以捕捞一次,但之后需要休息一段时间(晒网...

    C语言趣味算法

    8. 打鱼还是晒网:一个逻辑判断问题,通过编程算法来判断某人的行为模式。 9. 抓交通肇事犯:通过已知信息模拟和预测犯罪行为,是一种基于数据的预测算法。 10. 怎样存钱利最大:涉及到资金的时间价值计算,能够...

    一百个经典算法,C语言编写

    9. 打鱼还是晒网:可能是一个决策问题,涉及时间管理和收益最大化。 10. 抓交通肇事犯:可能涉及到图论和最短路径算法,如Dijkstra或Floyd-Warshall。 11. 该存多少钱:理财问题,可能涉及到复利计算和最优投资...

    三天打鱼两天晒网C语言详细代码

    某人从 1990年 1月 1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。 根据题意可以将解题过程分为三步: 1)计算从 1990年 1月 1日开始至指定日期共有多少天; 2)由于“打鱼”和...

    C语言算法合集含最大公约数、最小公倍数、猴子吃桃子、百钱百鸡问题、渔夫打鱼问题、二分查找法、分块查找法、求水仙花数、统计单词个数

    在本C语言算法合集中,我们涵盖了多个经典算法和数据结构的应用,这些是计算机科学的基础,对于学习和提升编程技能至关重要。以下将详细介绍其中涉及的知识点: 1. **最大公约数(Greatest Common Divisor, GCD)与...

    杭电复试C语言编程实例及答案解析

    4. C语言渔夫打鱼晒网问题 知识点:日期计算、算法、输出格式 该实例要求编写程序实现当输入2011年1月1日以后的任意一天,输出该渔夫是在打渔还是在晒网。 5. C语言希尔排序算法 知识点:排序算法、数组、交换...

    C语言常用算法

    077 打鱼还是晒网 078 怎样存钱以获取最大利息 079 阿姆斯特朗数 080 亲密数 081 自守数 082 具有abcd=(ab+cd)2性质的数 083 验证歌德巴赫猜想 084 素数幻方 085 百钱百鸡问题 086 爱因斯坦的数学题 087 ...

    C语言趣味程序百例精解.docx

    * 程序思路:使用C语言的数学库函数,计算打鱼还是晒网的概率,学习算法的应用。 2.2 抓交通肇事犯 * 知识点:数组、字符串处理 * 程序思路:使用C语言的数组和字符串处理函数,实现抓交通肇事犯的统计。 2.3 该...

    (C语言)三天打鱼两天晒网问题

    2. **条件判断**:`if`语句用于判断当前天数是否属于"打鱼"或"晒网"的状态。可以设置一个计数器来记录符合模式的周期数。 3. **变量和数据类型**:需要定义整型变量存储天数、周期数以及当前状态(工作或休息)。...

    C语言实例解析精粹.pdf

    包括绘制余弦曲线和直线、验证歌德巴赫猜想、计算高次方数的尾数、打鱼还是撒网、百钱百鸡问题等。这些实例不仅增加了编程的趣味性,同时也展示了C语言强大的计算能力。 书中还包含了一些C语言特有的知识点,如通过...

    三天打鱼两天晒网(C语言代码实现)

    文件实现了某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。它实现了一下要求: 基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。 提高要求...

    c语言练习题

    “三天打鱼两天晒网”问题是一个数学题目,要求计算小强在以后的某一天中是在“打鱼”,还是在“晒网”。解决这个问题需要使用数学知识,例如周期函数。 9. 桌子上的人数问题 知识点:算法、数据结构、组合数学 ...

    C语言趣味题

    6. 游戏和谜题:如打鱼还是晒网、迷语博士的难题、黑白子交换等,这些题目增加了趣味性,同时也涉及到决策和搜索算法。 7. 算法优化问题:如汉诺塔、兔子产子等,这些题目通常需要递归或迭代算法来解决,同时考察了...

    三天打鱼两天晒网(Linux C语言实现).pdf

    首先,问题描述指出,渔民的活动周期是连续的五天,其中三天用于打鱼,两天用于晒网。我们需要计算在给定的天数内,按照这个规律,渔民能打鱼的天数。问题分析中提到,可以通过计算完整的五天周期数量和剩余的天数来...

    C语言竞赛练习题(答案).pdf

    9. **优化计算**:"打鱼还是晒网"、"怎样存钱利最大"等题目需要考虑实际生活中的决策问题,并且可能需要计算复利、最优化算法等。 10. **递归与循环**:"九位累进可除数"可能需要使用递归或循环结构来寻找满足特定...

    c语言经典案例

    实例017 打渔晒网问题 20 实例018 判断三角形的类型 22 实例019 直接插入排序 23 实例020 希尔排序 25 实例021 冒泡排序 26 实例022 快速排序 27 实例023 选择排序 28 实例024 归并排序 29 实例025 二分查找 31 实例...

    c语言贪吃蛇-项目实战

    《C语言实现贪吃蛇游戏详解》 贪吃蛇游戏是一款经典的计算机程序,它源于早期的电子游戏,因其简单易上手和趣味性而深受玩家喜爱。本项目以C语言为编程工具,通过分析和实践,我们将深入理解游戏背后的逻辑和编程...

Global site tag (gtag.js) - Google Analytics