计算日期是当年的第几天 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题 输入说明: 年 月 日 输出说明: 该日在本年中是第几天
时间: 2023-12-26 07:26:39 浏览: 115
以下是C语言计算日期是当年的第几天的代码实现:
```c
#include <stdio.h>
typedef struct date {
int year;
int month;
int day;
int a[12];
} d;
void 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("输入错误!");
}
}
```
阅读全文