c语言输入某年某月某日,判断这一天是这一年的第几天。函数fun的功能是,返回某天是这一年的第几天
时间: 2023-06-17 13:03:58 浏览: 151
以下是一个实现方式:
```c
#include <stdio.h>
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int fun(int year, int month, int day) {
int monthDays[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的天数
if (isLeapYear(year)) {
monthDays[1] = 29; // 闰年 2 月改为29天
}
int totalDays = 0;
for (int i = 0; i < month - 1; i++) {
totalDays += monthDays[i];
}
totalDays += day;
return totalDays;
}
int main() {
int year, month, day;
printf("请输入年月日,格式为 yyyy mm dd:");
scanf("%d %d %d", &year, &month, &day);
int dayOfYear = fun(year, month, day);
printf("%d 年 %d 月 %d 日是 %d 年的第 %d 天\n", year, month, day, year, dayOfYear);
return 0;
}
```
代码中的 `isLeapYear` 函数用于判断是否为闰年,返回值为1表示是闰年,返回值为0表示不是闰年。 `fun` 函数接收年月日三个参数,根据每个月的天数计算出给定日期在这一年中是第几天,并返回该值。
在 `main` 函数中,首先通过 `scanf` 函数接收输入的年月日,然后调用 `fun` 函数计算该日期在这一年中是第几天,最后输出结果。
阅读全文