用c语言和二位数组写题目描述 本题要求编写程序计算某年某月某日是该年中的第几天。 输入 输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。 输出 在一行输出日期是该年中的第几天。
时间: 2024-03-04 21:49:25 浏览: 68
好的,以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int year, month, day, days = 0;
int month_days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d/%d/%d", &year, &month, &day);
// 判断是否为闰年,修改二月的天数
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
month_days[2] = 29;
}
// 累加每个月的天数
for (int i = 1; i < month; i++)
{
days += month_days[i];
}
// 加上当前月的天数
days += day;
printf("%d\n", days);
return 0;
}
```
其中,我们定义了一个大小为13的一维数组`month_days`,其中`month_days[i]`表示第i个月的天数。我们可以通过修改`month_days[2]`来判断是否为闰年,并修改二月的天数。
接着,我们使用循环累加每个月的天数,并加上当前月的天数,最后输出结果。
注意,输入格式为“年/月/日”,需要使用`scanf`函数来读入3个整数。输出时记得换行。
阅读全文