编写程序,输⼊⼀个⽇期(年、⽉、⽇),计算并输出该
⽇是该年中的第⼏天
程序填空,不要改变与输⼊输出有关的语句。
输⼊⼀个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
编写程序,输⼊⼀个⽇期(年、⽉、⽇),计算并输出该⽇是该年中的第⼏天。
要求定义并调⽤函数 day_of_year(p) 计算某⽇是该年的第⼏天,函数形参p的类型是结构指针,指向表⽰⽇期的结构变量,函数类型是int,注意区分闰年。
输⼊输出⽰例:括号内为说明
输⼊:
2 (repeat=2)
2006 3 5
2000 3 5
输出:
64 (2006年3⽉5⽇是该年的第64天)
65 (2000年3⽉5⽇是该年的第65天)
#include <stdio.h>
struct date{
int year;
int month;
int day;
};
int day_of_year(struct date *p);
int main(void)
并输出
{
int yearday;
int repeat, ri;
struct date date;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d%d", &ar, &h, &date.day);
printf("%d\n", yearday);
}
}
#include <stdio.h>
struct date{
int year;
int month;
int day;
};
int day_of_year(struct date *p);
int main(void)
{
int yearday;
int repeat, ri;
struct date date,*p;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d%d", &ar, &h, &date.day);
p=&date;
yearday=day_of_year(p);
printf("%d\n", yearday);
}
}
int day_of_year(struct date *p)
{
int i,j,yearday,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31} ; if(p->year%4==0&&p->year0!=0||p->year@0==0)
a[2]=29;
yearday=p->day;
for(i=1;i<p->month;i++)
yearday+=a[i];
return yearday;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论