c语言编程【问题描述】 请你编写函数,根据所给年月日,计算出该日期是该年的第几天(注意考虑闰年),满足以下两种情况之一的为闰年:1.年份是四的倍数且不是一百的倍数。2.年份是四百的倍数。 【输入形式】 输入年月日,以空格隔开。 【输出形式】 输出“输入日期是当年的第n天" 【样例输入】 2001 1 24 【样例输出】 输入日期是当年的第24天
时间: 2023-12-02 07:02:36 浏览: 97
下面是这道题的C语言程序实现:
```c
#include <stdio.h>
// 判断闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
return 1;
} else {
return 0;
}
}
// 计算该日期是该年的第几天
int getDayOfYear(int year, int month, int day) {
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int i, sum = 0;
for (i = 0; i < month - 1; i++) {
sum += days[i];
}
sum += day;
if (month > 2 && isLeapYear(year)) {
sum++;
}
return sum;
}
int main() {
int year, month, day;
scanf("%d %d %d", &year, &month, &day);
int dayOfYear = getDayOfYear(year, month, day);
printf("输入日期是当年的第%d天", dayOfYear);
return 0;
}
```
运行结果:
```
输入:2001 1 24
输出:输入日期是当年的第24天
```
阅读全文