C/C++ code#include
struct date
{
int year;
int month;
int day;
};
int days(struct date day) //函數傳回值類型
{
static int day_tab[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},};
int i, lp;
lp = day.year % 4 == 0 && day.year % 100 != 0 || day.year % 400 == 0;
for(i = 1; i
day.day += day_tab[lp][i];
return (day.day);
}
int main(void)
{
struct date today,term;
int yearday, year,day;
printf("Enter year/month/day:");
scanf("%d%d%d",&today.year,&today.month,&today.day);
term.month=12;
term.day= 31;
for(yearday=0, year = 1990; year < today.year; year++)
{
term.year = year;
yearday += days(term);
}
yearday += days(today);
day = year % 5;
if(day > 0 && day < 4)
printf("He was fishing at that day.\n");
else
printf("He was sleeping at that day.\n");
return 0;
}
------解決方案--------------------探讨
我自己調試出來了,因為我後來又學習了一下這個知識點,謝謝你們哈
------解決方案--------------------
C/C++ code#include
struct date
{
int year;
int month;
int day;
};
int days(struct date day) //函數傳回值類型
{
static int day_tab[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},};
int i, lp;
lp = day.year % 4 == 0 && day.year % 100 != 0 || day.year % 400 == 0;
for(i = 1; i
day.day += day_tab[lp][i];
return (day.day);
}
int main(void)
{
struct date today,term;
int yearday, year,day;
printf("Enter year/month/day:");
scanf("%d%d%d",&today.year,&today.month,&today.day);
term.month=12;
term.day= 31;
for(yearday=0, year = 1990; year < today.year; year++)
{
term.year = year;
yearday += days(term);
}
yearday += days(today);
day = year % 5;
if(day > 0 && day < 4)
printf("He was fishing at that day.\n");
else
printf("He was sleeping at that day.\n");
return 0;
}