其他分享
首页 > 其他分享> > (C语言)关于渔夫打鱼问题

(C语言)关于渔夫打鱼问题

作者:互联网

如果一个渔夫从2011年1月1日开始没三天打一次鱼,两天嗮一次网
编程实现输入2011年1月1日后的任意一天,输出渔夫是在打鱼,还是在晒网`

#include<stdio.h>
int leap(int a)   //自定义函数leap用来输入的年份是否为闰年
{
	if(a%4==0&&a%100!=0||a%400==0)
	    return 1;
	else
	    return 0;
 } 
int number(int year,int month,int day)  //计算输入日期据2011年1月1日共有多少天
{
	int sum=0,i,j,k;
	int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};   //存放平年每月的天数 
	int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};    //存放闰年每月的天数
	if(leap(year)==1)
	    for(i=0;i<month-1;i++)
		sum=b[i]+sum;    //是闰年累加b前m-1个月的天数
	else
	    for(i=0;i<month-1;i++)
		sum=sum+a[i];
	for(j=2011;j<year;j++)
	if(leap(j)==1)
	    sum+=366;    //2011年到输入的年份之间是闰年的加366
	else
	    sum+=365;   //2011年到输入年份之间不是闰年的加365
		sum+=day;  //将前面累加的结果加上日期
		return sum; 
		 
 }
int main(){
	int year,month,day,n;
	printf("请输入年月日:\n");
	scanf("%d%d%d",&year,&month,&day);  
	n=number(year,month,day);    //调用number函数进行天数计算 
	if(n%5<4&&n%5>0) //余数是1,2,3时说明在打鱼,否者在晒网
	    printf("%d: %d: %d: 打鱼\n",year,month,day);
	else
	    printf("%d: %d: %d: 晒网\n",year,month,day);
	return 0; 
}

输入年份的方法
2011 1 4 表示2011年1月4日

标签:打鱼,int,31,30,C语言,渔夫,year,2011
来源: https://blog.csdn.net/meridian002/article/details/88141891