- 声望
- 41 点
- 西工币
- 2151 枚
- 贡献值
- 0 点
- 好评度
- 0 点
- 最后登录
- 2013-2-20
- 注册时间
- 2007-4-23
- 帖子
- 72
- 精华
- 0
- 积分
- 93
- 阅读权限
- 30
- UID
- 9687
 
该用户从未签到 - 西工币
- 2151 枚
- 好评度
- 0 点
- 声望
- 41 点
- 注册时间
- 2007-4-23
- 帖子
- 72
- 积分
- 93
- UID
- 9687
|
样题中给出的答案有错误,现更正如下
#include<stdio.h>
typedef struct {
int year;
int month;
int day;
}Date,*P_date;/*在定义结构体的同时声明了类似"类型"的两个"类型",前一个为定义的该结构体类型;
后一个为,该结构体类型的指针类型.在后面可以直接用这两个类型声明变量.*/
int days(Date* day);
int main()
{
P_date term,today;
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); /*计算从1990年至指定年的前一年共有多少天*/
}
yearday+=days(today); /*加上指定年中到指定日期的天数*/
day=yearday%5; /*求余数*/
if(day>0&&day<4)
printf("he was fishing at that day.\n"); /*打印结果*/
else
printf("He was sleeping at that day.\n");
getch();
}
int days(P_date day)
{
int i,lp;
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,},
};
lp=day->year%4==0&&day->year%100!=0||day->year%400==0;/*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
for(i=1;i<day->month;i++) /*计算本年中自1月1日起的天数*/
day->day+=day_tab[lp];
return day->day;
} |
|