用C语言编写一个程序,从键盘分别输入年月日,并计算出该天是这年中的第几天。
时间: 2024-02-09 15:11:36 浏览: 124
下面是一个使用C语言编写的程序,可以计算出从键盘输入的日期是这一年中的第几天:
```c
#include <stdio.h>
int is_leap_year(int year);
int days_of_month(int year, int month);
int main()
{
int year, month, day, days = 0, i;
printf("Please enter the year, month and day (separated by space): ");
scanf("%d %d %d", &year, &month, &day);
for (i = 1; i < month; i++) {
days += days_of_month(year, i);
}
days += day;
printf("%d/%d/%d is the %dth day of the year.\n", year, month, day, days);
return 0;
}
int is_leap_year(int year)
{
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int days_of_month(int year, int month)
{
int days;
switch (month) {
case 2:
days = is_leap_year(year) ? 29 : 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
}
return days;
}
```
这个程序首先从键盘上读入年月日,然后通过循环计算出从1月到该月之前的所有月份的天数之和,再加上该月的天数,即可得到这一天是这一年中的第几天。程序中使用了两个辅助函数,一个用于判断是否为闰年,另一个用于获取指定年份和月份的天数。
阅读全文