c语言编一程序输入年、月、日,计算出该日是该年的第几天
时间: 2023-11-28 14:55:57 浏览: 132
好的,这个问题是计算问题,可以回答。以下是示例代码:
```c
#include <stdio.h>
// 判断是否是闰年
int isLeapYear(int year) {
return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0);
}
// 计算是该年的第几天
int getDayOfYear(int year, int month, int day) {
int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, days = 0;
for (i = 1; i < month; i++) {
days += daysInMonth[i - 1];
}
days += day;
if (month > 2 && isLeapYear(year)) {
days++;
}
return days;
}
int main() {
int year, month, day;
printf("请输入年、月、日(格式为XXXX-XX-XX):\n");
scanf("%d-%d-%d", &year, &month, &day);
printf("该日是该年的第%d天\n", getDayOfYear(year, month, day));
return 0;
}
```
输入示例:
```
请输入年、月、日(格式为XXXX-XX-XX):
2022-10-14
```
输出示例:
```
该日是该年的第287天
```
阅读全文