首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这是一个“三天打鱼两天晒网”的程序解决方案

2012-09-10 
这是一个“三天打鱼两天晒网”的程序#includestdio.hstruct date{int yearint monthint day}void main

这是一个“三天打鱼两天晒网”的程序
#include<stdio.h>

struct date 
{
int year;
int month;
int day;
};

void main()
{
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");
}

days(struct day)
{
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.month; i++)
day.day += day_tab[lp][i];
return (day.day);
}
谁能帮我纠错呢,调试时不知道哪里错,因为结构变量用得还不行,谢谢大虾们了!

[解决办法]
楼主最好把你程序的逻辑说清楚了。或者自己单步调试看看
[解决办法]

C/C++ code
#include<stdio.h>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.month; 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<stdio.h>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.month; 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;} 

热点排行