某人从2010年1月1日开始“三天打鱼,两天晒网”问这个人在以后的某天是“打鱼“”还是“晒网”

C语言日期与活动安排
本文介绍了一个使用C语言编写的程序,该程序通过输入特定日期来决定当天是打鱼还是晒网。程序首先判断输入日期所在的年份是否为闰年,并计算从1990年至目标年份之间的闰年数量。然后,程序根据年份、月份和日期计算出从1990年1月1日至输入日期的总天数,并利用这个天数来确定当天的活动。


#include<stdio.h>
int fishing(int year,int month,int day);
int main()
{
 int year,month,day;
 printf("输入一个日期:\n");
 scanf("%d %d %d",&year,&month,&day);
 fishing(year,month,day);
 return 0;
}
int fishing(int year,int month,int day)
{
 int n=0;                            //闰年个数
 int month1;                        //月数之差
 int year_1;                       //将年之差换算成天数差
 int month_1,day_1;
 int sum;                         //从某天开始到结束总的天数
 int k;                          //求模,1,2,3代表打鱼,0,4代表晒网
 /*判断是不是闰年,并计算其个数*/
 int m;                         //计算闰年的参数
 int f1,f2,f3;
 for(m=1990;m<=year;m++)
 {
  f1=((m%4)==0);
  f2=((m%100)==0);
  f3=((m%400)==0);
  if((f1&&(!f2)||f3))
   n++;
 }
 printf("n:%d\n",n);                  //闰年个数
 year_1=(year-1990)*365+n;
 /*计算月份差*/
    month1=month-1;
 switch(month1)
 {
 case 0:month_1=0;break;
 case 1:month_1=31;break;
 case 2:month_1=59;break;
 case 3:month_1=90;break;
 case 4:month_1=120;break;
 case 5:month_1=151;break;
 case 6:month_1=181;break;
 case 7:month_1=212;break;
 case 8:month_1=243;break;
 case 9:month_1=273;break;
 case 10:month_1=304;break;
 case 11:month_1=334;break;
 }
 /*计算天数差*/
 day_1=day;
 /*计算总天数后*/
 sum=year_1+month_1+day_1;
 printf("sum:%d\n",sum);
 k=sum%5;//求模
 printf("%d\n",k);
 switch(k)
 {
 case 0:k=0;
  printf("今天晒网\n");break;
 case 1:k=1;
     printf("今天打鱼\n");break;
 case 2:k=2;
     printf("今天打鱼\n");break;
 case 3:k=3;
  printf("今天打鱼\n");break;
 case 4:k=4;
     printf("今天晒网\n");break;
 }
 return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值