编写C语言程序:输入具体的年月日(输入自己的生日),输出该日期是该年的第几天。 【提示: 需要判断是否为闰年】
时间: 2024-05-02 18:18:41 浏览: 96
```c
#include <stdio.h>
int isLeapYear(int year); // 判断是否为闰年
int getDays(int year, int month, int day); // 计算该日期是该年的第几天
int main() {
int year, month, day;
printf("请输入年月日(格式:yyyy mm dd):");
scanf("%d %d %d", &year, &month, &day);
int days = getDays(year, month, day);
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, days);
return 0;
}
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
} else {
return 0;
}
}
int getDays(int year, int month, int day) {
int days = 0;
int monthDays[] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for (int i = 0; i < month - 1; i++) {
days += monthDays[i];
}
days += day;
return days;
}
```
阅读全文