如何用C语言实现三天打渔两天晒网

代码段如下:

#include <stdio.h>

struct date{                                   //定义结构体变量
	int year;
	int month;
	int day;
};

int days(int years, int x, int y)                     //计算天数
{
	int i, k, days = 0;                         
	static int a[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
	
	if(years % 400 == 0||years % 4 == 0&&years % 100 != 0)          //判断是否为闰年
	{
		k = 1;
	}
	else
	{
		k = 0;
	}
	
	if(k == 1)                              //若是闰年
	{
		for(i = 1; i < x; i++)
		{
			days += a[k][i];
		}
		days = days + y;
	}
	else if(k == 0)                         //若不是闰年
	{
		for(i = 1; i < x; i++)
		{
			days += a[k][i];
		}
		days = days + y;
	}

	return(days);
}
int main()
{
	struct date term, today;                            //定义结构体变量
	int year, dayss = 0, xxx;

	printf("Please input year month day:\n");
	scanf("%d%d%d", &today.year, &today.month, &today.day);

	term.month = 12;
	term.day = 31;

	for(year = 1990;year < today.year; year++)
	{
		dayss += days(year, 12, 31);
	}

	dayss += days(year, today.month, today.day);

	xxx = dayss % 5;
	if(xxx > 1&&xxx < 4)                                 //输出结果
	{
		printf("此人在打渔\n");
	}
	else
	{
		printf("此人在晒网\n");
	}

    return 0;
}

此程序比较繁琐,弄清楚思路再着笔较好。 

猜你喜欢

转载自blog.csdn.net/qq_42200028/article/details/81192385