天天看點

打魚曬網C語言程式,這是一個“三天打魚兩天曬網”的程式解決方案

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;

}