算法设计与问题分析
计算从20100101日起开始"三天打鱼两天晒网",求出在以后的某一天是"打鱼"or"晒网"
即1.计算从20100101日起至指定日期的天数,分别求从2010至指定日期前一年的天数(day_year)+从该年一月到前一月的天数(day_month)+该月指定日期的天数(today.day)=相差日期(diff);
2,用相差日期(diff)%5计算余数判断该天是"打鱼"还是"晒网"
流程图
源程序:
#include <stdio.h>
#include <stdlib.h>
struct Date
{
int year;
int month;
int day;
};
int DateDiff(FILE* in,FILE* out)
{
struct Date today,term;
term.month = 12;
term.day =31;
long date;
while( fscanf(in,"%ld",&date) != EOF)
{
/* 针对读in.txt文件做出测试
printf("%ld\n",date);
*/
int diff,day_year,day_month=0;//sum为由20100101至指定日期的总天数
int leap;
int n = 0; //由20100101至指定日期共经过多少个闰年
static int mon[13] = {0,31,28,31,30,31,