输入年月日,输出它是该年的第几天 (每月的天数存入二维数组,平年和闰年分别存入一行) 用C语言写
时间: 2024-02-06 11:10:59 浏览: 251
以下是使用 C 语言编写的程序,可以实现输入一个日期,计算出它是该年的第几天:
```c
#include <stdio.h>
int main() {
int year, month, day, i, days = 0;
int daysOfMonth[2][12] = {
{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
printf("请输入年月日,格式为:年 月 日\n");
scanf("%d %d %d", &year, &month, &day);
for (i = 1; i < month; i++) {
days += daysOfMonth[(year % 4 == 0 && year % 100 != 0) || year % 400 == 0][i - 1];
}
days += day;
printf("%d 年 %d 月 %d 日是该年的第 %d 天\n", year, month, day, days);
return 0;
}
```
程序中定义了一个二维数组 `daysOfMonth` 来存储每个月的天数,第一行代表平年,第二行代表闰年。接着程序通过 `scanf` 函数获取用户输入的年月日信息,并通过循环累加每个月的天数,最后加上当前日期的天数即可得出结果。需要注意的是,在计算每个月的天数时需要判断当前年份是否是闰年,以确定使用哪一行来获取该月的天数。
阅读全文