如果一个渔夫从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 打渔
相关推荐
C语言算法之归并排序C语言算法之归并排序C语言算法之归并排序C语言算法之归并排序
中国有句俗语叫“三天打鱼两天晒网”,某人从1992年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”? 可以进入程序主函数 下的 定义的地方进行修改起始的年月日期 程序可以,...
经典c语言算法 c语言算法 c语言 c语言算法 txt
c语言 算法c语言 算法c语言 算法c语言 算法
贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现贪心算法背包问题c语言实现...
纯C写的,很简单易懂,打鱼晒网问题的代码
汽车加油行驶问题(C语言算法设计与分析),里面有完整的代码,并且能正确运行,附带有完整的课程设计说明书。
C语言算法速查手册源代码(含目录)
c语言经典算法 C语言 算法 c语言经典算法 C语言 算法 c语言经典算法 C语言 算法 c语言经典算法 C语言 算法
C语言模拟遗传算法模拟TSP问题 有完整c写的程序代码可编译 有完整论文
FFT的C语言算法实现,FFT的C语言算法实现,FFT的C语言算法实现。
贪心算法 背包问题 c语言 绝对无误 运行成功
C语言编写的程序,打渔还是晒网,根据输入的日期,判断当前是打渔的日子还是晒网的日子
C语言算法集C语言算法集
C语言算法速查手册 ,C语言的好资料。非常好用,你懂得
贪心算法的思想---集装箱的装箱问题(c语言算法)
里面主要是一些关于 C语言 算法学习的相关文档、经典算法
C语言算法设计.pdfC语言算法设计.pdfC语言算法设计.pdf
C语言算法,非常好非常强大非常全非常有用的C语言算法