如何用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;
}

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值