构建结构体-本年中的第几天 描述 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。 输入 一行三个数字,分别表示年月日。 输出 这一天是当年的第几天。
时间: 2024-06-14 13:04:40 浏览: 54
以下是一个计算给定日期在本年中是第几天的示例代码:
```c
#include <stdio.h>
typedef struct date {
int year;
int month;
int day;
int a[12];
} d;
int main() {
d s;
int i, n = 0, sum;
printf("请输入日期:");
scanf("%d %d %d", &s.year, &s.month, &s.day);
s.a[0] = 31;
s.a[1] = 28;
s.a[2] = 31;
s.a[3] = 30;
s.a[4] = 31;
s.a[5] = 30;
s.a[6] = 31;
s.a[7] = 31;
s.a[8] = 30;
s.a[9] = 31;
s.a[10] = 30;
s.a[11] = 31;
if ((s.year % 4 == 0 && s.year % 100 != 0) || (s.year % 400 == 0)) {
s.a[1] = s.a[1] + 1;
}
for (i = 0; i < s.month - 1; i++) {
n += s.a[i];
}
if ((s.month > 0) && (s.month < 13) && (s.day > 0) && (s.day < s.a[s.month - 1])) {
sum = n + s.day;
printf("该日是该年的%d天\n", sum);
} else {
printf("输入错误!");
}
return 0;
}
```
阅读全文