本文主要是介绍打鱼or晒网,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
打鱼晒网问题
问题:
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
程序流程图:
源代码:
#include<stdio.h>
void main(){int year,month,day,y,m,days=0;int num[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};printf("请输入年 月 日(空格隔开):\n"); scanf("%d%d%d",&year,&month,&day);while(year<2010||month>12||day>31){ printf("日期输入有误,请重新输入:\n");scanf("%d%d%d",&year,&month,&day);}if(year%400==0||(year%4==0 && year%100!=0)) //若判断是闰年,二月加一天num[2]+=1;for(y=2010;y<year;y++) //计算从2010年1月1日到输入的日期总共多少天{if(y%400==0||(y%4==0 && y%100!=0)) days+=366; elsedays+=365; }for(m=1;m<month;m++) {days+=num[m];}days+=day;printf("\n从2010年1月1日起到%d年%d月%d日共经过了%d天\n\n",year,month,day,days);if(days%5==3||days%5==2||days%5==1) //用计算出的总天数除以5,求模printf("%d年%d月%d日他在打鱼\n\n",year,month,day);elseprintf("%d年%d月%d日他在晒网\n\n",year,month,day);}
测试:
这篇关于打鱼or晒网的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!