输入年、月、日,计算该日是该年的第几天。 c语言
时间: 2023-11-28 20:41:59 浏览: 133
c语言输入年月日且能防止错误输入
这是一个用C语言编写的程序,目的是计算输入的年、月、日是该年的第几天。程序中使用了两个函数,一个是day函数,用于计算天数;另一个是leap函数,用于判断是否为闰年。在day函数中,根据闰年与否选择不同的天数数组,然后累加天数即可得到该日是该年的第几天。在leap函数中,根据闰年的定义进行判断,如果是闰年则返回1,否则返回0。
下面是程序的代码:
```
#include <stdio.h>
int day(int year, int month, int day);
int leap(int year);
int main()
{
int year, month, day, sum;
printf("请输入年月日:\n");
scanf("%d %d %d", &year, &month, &day);
sum = day(year, month, day);
printf("%d年%d月%d日是第%d天", year, month, day, sum);
return 0;
}
int day(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;
if (leap(year)) {
days[1] = 29;
}
for (i = 0; i < month - 1; i++) {
sum += days[i];
}
sum += day;
return sum;
}
int leap(int year)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
} else {
return 0;
}
}
```
阅读全文