C语言打渔晒网问题,代码哪地方有问题?
答案:2 信息版本:手机版
解决时间 2019-10-06 10:37
已解决
2019-10-06 02:11
#include
int leap(int a) //自定义函数leap,判断输入的年份是否为闰年
{
if(a%4==0&&a%100!=0||a%400==0)
return 1;
else
return 0;
}
int number(int y,int m,int d)
{
int sum=0,i,j;
int a[12]={31,29,31,30,31,30,31,31,30,31,30,31};
int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(leap(y)==1)
for(i=0;i sum+=a[i];
else
sum+=b[i];
for(j=2011;j if(leap(j)==1)
sum+=366; //2011年到输入的年份是闰年加366
else
sum+=365; //2011年到输入的年份不是闰年加365
sum+=d;
return sum;
}
void main()
{
int y,m,d,n;
printf("请输入年月日:\n");
scanf("%d%d%d",&y,&m,&d);
n=number(y,m,d);
if((n%5)0) //当余数是1,2,3时说明在打渔,否则在晒网
printf("%d:%d:%d打渔\n",y,m,d);
else
printf("%d:%d:%d晒网\n",y,m,d);
}
最佳答案
2019-10-06 03:20
1
2
3
4
5
6
7
8
9
10
11
这里出的问题,给你改了一下,你试试吧,有问题再问
if(leap(y)==1)
{
for(i=0;i sum+=a[i];
}
else
{
for(i=0;i sum+=b[i];
}
全部回答
1楼
2019-10-06 03:57
这个问题主要是考察日期和天数的关系,以及公约数关系
日期和天数的关系与闰年、月份等有关,通常见两个数组,一个数组代表平年各月天数,一个数组是闰年各月天数,至于闰年怎么求?(年份%4==0 &&年份%100!=0) || (年份%400==0)。
然后按年份差*365+闰年数就是年差天数,然后再加上月差天数,就获得了天数差。
至于渔夫是否打渔,你叙述的条件不严谨,每三天打鱼每两天晒网怎么计算全无限制,有很多种理解,你可以根据天数差和相应限制条件进行计算,问题都不大。
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
大家都在看
推荐资讯