C语言练习“三天打鱼,两天晒网”

题目内容:中国有句俗语:“三天打鱼两天晒网”,某人从1990年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天是在“打鱼”还是在“晒网”?

输入样例:
1990-1-3

输出样例:
他在打鱼

输入样例:
2018-11-13

输出样例:
他在晒网
CODE:

#include <stdio.h>
int main()
{
	int fy, y, m, d;
	int i, j, n;
	int runc = 0, runf = 0, days = 0;
	scanf("%d-%d-%d", &fy, &m, &d);
	y = fy - 1990;
	for (i = 1990; i < fy; i++)
	{
		if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
		{
			runc++;
		}
	}
	//printf("runc=%d\n", runc);
	days = (y - runc) * 365 + runc * 366;
	//printf("year no included days=%d\n", days);
	if (m < 1)
	{
		days += d;
	}
	if (fy % 4 == 0 && fy % 100 != 0 || fy % 400 == 0)
	{
		{
			runf = 1;
		}
	}
	//printf("runf=%d\n", runf);
	if (runf == 0)
	{
		switch (m)
		{
		case 1:days += d; break;
		case 2:days += 31 + d; break;
		case 3:days += 31 + 28 + d; break;
		case 4:days += 31 + 28 + 31 + d; break;
		case 5:days += 31 + 28 + 31 + 30 + d; break;
		case 6:days += 31 + 28 + 31 + 30 + 31 + d; break;
		case 7:days += 31 + 28 + 31 + 30 + 31 + 30 + d; break;
		case 8:days += 31 + 28 + 31 + 30 + 31 + 30 + 31 + d; break;
		case 9:days += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + d; break;
		case 10:days += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d; break;
		case 11:days += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d; break;
		case 12:days += 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d; break;
		}
	}
	else//runnian
	{
		switch (m)
		{
		case 1:days += d; break;
		case 2:days += 31 + d; break;
		case 3:days += 31 + 29 + d; break;
		case 4:days += 31 + 29 + 31 + d; break;
		case 5:days += 31 + 29 + 31 + 30 + d; break;
		case 6:days += 31 + 29 + 31 + 30 + 31 + d; break;
		case 7:days += 31 + 29 + 31 + 30 + 31 + 30 + d; break;
		case 8:days += 31 + 29 + 31 + 30 + 31 + 30 + 31 + d; break;
		case 9:days += 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + d; break;
		case 10:days += 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + d; break;
		case 11:days += 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + d; break;
		case 12:days += 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + d; break;
		}
	}
	//printf("days=%d\n", days);
	if (days % 5 < 4 && days % 5 != 0)
	{
		printf("他在打鱼");
	}
	if (days % 5 > 3 || days % 5 == 0)
	{
		printf("他在晒网");
	}
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值