这段代码哪里错了
本帖最后由 御笔剑客 于 2017-12-14 20:45 编辑题目是:从19990年1月1日开始,某人三天打鱼两天晒网,给出一个年份,判断该人是打鱼还是晒网
#include <stdio.h>
int countday(struct Date);
struct Date{
int year;
int month;
int day}date;
int main()
{
int i,sumday;
printf("%请输入今天的日期(如1999 1 1):\n");
scanf("%d%d%d",date.year,date.month,date.day);
sumday=countday(date);
if(0<sumday%5||sumday%5<4) printf("此人今天正在晒网\n");
else printf("此人今天正在打鱼\n");
return 0;
}
int countday(struct Date date)
{
int sumday=0,i;
int month={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1990;i<=date.year;i++)
{
if((i%100!=0&&i%4==0)||i%400==0)
sumday+=366;
else sumday+=365;
}
if((date.year%100!=0&&date.year%4==0)||date.year%400==0)
month++;
for(i=1;i<=date.month;i++)
sumday+=month;
sumday+=date.day;
return sumday;
}
#include <stdio.h>
struct Date{
int year;
int month;
int day;
}date;
int main()
{
int i,sumday;
printf("%请输入今天的日期(如1999 1 1):\n");
scanf("%d%d%d",&date.year,&date.month,&date.day);
sumday=countday(date);
if(0<sumday%5||sumday%5<4) printf("此人今天正在晒网\n");
else printf("此人今天正在打鱼\n");
return 0;
}
int countday(date)
{
int sumday=0,i;
int month={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1990;i<=date.year;i++)
{
if((i%100!=0&&i%4==0)||i%400==0)
sumday+=366;
else sumday+=365;
}
if((date.year%100!=0&&date.year%4==0)||date.year%400==0)
month++;
for(i=1;i<=date.month;i++)
sumday+=month;
sumday+=date.day;
return sumday;
}
目前就看出这,我也是新手,sorry
你的这个month数组与全局变量 定义重了
当遇到闰年的时候你将第二月自增1,遇到几个闰年就递增了几次
页:
[1]