定义一个日期结构体类型(包括年、月、日),编写程序,要求输入年月日,输出该日在本年中第几天。
输出格式:"是%d年第%d天"
【输入形式】
年月日
【输出形式】
本年第几天
【样例输入】
2006 3 12
【样例输出】
是2006年第71天
#include<stdio.h>
int run(int year);
typedef struct {
int year;
int month;
int day;
}Date;
int main() {
Date p;
int sum;
int m[12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d %d %d", &p.year, &p.month, &p.day);
sum = p.day;
for (int i = 0; i < p.month - 1; i++) {
sum += m[i];
}
if (run(p.year) && p.month > 2) {
printf("是%d年第%d天", p.year, sum + 1);
}
else {
printf("是%d年第%d天", p.year, sum);
}
return 0;
}
int run(int year) {
int i;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
i = 1;
}
else {
i = 0;
}
return i;
}