编写一个C语言程序,写一个函数days,实现计算该日在本年中是第几天,由主函数将年、月、日传递给days函数,计算 后将日子数传回主函数输出。(输出代码应包含主函数部分)
时间: 2024-05-06 13:17:18 浏览: 14
下面是一个实现该功能的C语言程序:
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
// 计算该日在本年中是第几天
int days(int year, int month, int day) {
int days = 0;
int daysOfMonth[] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for (int i = 0; i < month - 1; i++) {
days += daysOfMonth[i];
}
days += day;
return days;
}
int main() {
int year, month, day;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, days(year, month, day));
return 0;
}
```
该程序的函数days接受三个参数(年、月、日),通过for循环计算该日在本年中是第几天。其中,isLeapYear函数用于判断是否为闰年,通过判断年份是否能够被4整除但不能被100整除,或者能够被400整除来判断是否为闰年。