1. 程序说明
此程序使用C语言编写,运行此程序时,需要在工程文件夹下建立in.txt文件,并存储8位数表示日期。
2. 算法设计
根据题意可以将解题过程分为三步:
(1)计算从2010年1月1日开始至指定日期共有多少天;
(2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;
(3)根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,3,则他是在“打鱼”,否则是在“晒网”
3. 流程图
4. 程序代码
#include<stdio.h>
int sum_days(); //计算给定日期与20100101相差天数
int mon_days(); //计算平年给定月份是当年的第多少天
bool judge_data(); //判断所读取的数据是否合理
void judge(); //判断某日期打鱼还是晒网
void duwendang(); //从in.txt里读取八位字符并转化为整型赋值给year,month,day
int year,month,day; //声明全局变量
void main()
{
duwendang();
if(judge_data())
printf("数据不合理\n");
else
judge();
}
int sum_days() //计算给定日期与20100101相差天数
{
int days; //days为相差的总天数
if(y