你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

C语言中“三天打鱼两天晒网”的代码

2021/12/26 15:17:18

实验内容:

三天打鱼两天晒网

中国有句俗语叫“三天打鱼两天晒网”。某人从2000年1月1日起开始“三天打鱼两天晒网”,编写程序判断这个人在以后的某一天中是“打鱼”还是“晒网”。

相关知识:

枚举算法,注意闰年的天数

                                                                                                        ——题目摘自清览云题库

//中国有句俗语叫“三天打鱼两天晒网”。某人从2000年1月1日起开始“三天打鱼两天晒网”,
//编写程序判断这个人在以后的某一天中是“打鱼”还是“晒网”。
//5天一循环,如果余数是1/2/3,则打鱼,余数是4/0则晒网 
#include<stdio.h>
int main()
{
	int year,month,day,days,yushu;
	printf("请输入一个年月日:");
	scanf("%d.%d.%d",&year,&month,&day);
//计算整年的天数	
	days=(year-2000)*365;

//把这些年中的闰年缺少了的天数加回来	
	for(int i=2000;i<year;i++) 
	{
	    if((i%4==0)&&(i%100!=0)||(i%400==0))
	        days++;
	}

//计算输入的这一年中,该月之前的天数	
	for(int j=1;j<month;j++)
	{
		switch(j)
		{
			case 1:
			case 3:
			case 5:
			case 7:
		    case 8:
		    case 10:
		    case 12:
		    	days=days+31;
		    case 4:
		    case 6:
		    case 9:
		    case 11:
		    	days=days+30;
		    case 2:
		    	{
		    		if((year%4==0)&&(year%100!=0)||(year%400==0))
		    		    days=days+29;//输入的这一年是闰年
					else days=days+28; 
				}
		}
	}
//把输入的这个月份的天数加进去
    days=days+day;
	printf("\n从开始到现在一共经过了%d天\n",days);
//判断是打鱼还是晒网	
	switch(days%5)
	{
		case 1:
		case 2:
		case 3:
			printf("\n这一天在打鱼\n");break;
		case 4:
		case 0:
			printf("\n这一天在晒网\n");break;
	}
	return 0; 	 
}