题目描述 本题要求编写程序计算某年某月某日是该年中的第几天。 输入 输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。 输出 在一行输出日期是该年中的第几天。用C语言编写
时间: 2024-02-25 07:56:20 浏览: 223
计算输入的某年某月某日是该年的第几天
以下是题目对应的 C 语言代码:
```c
#include <stdio.h>
int main() {
int year, month, day, days = 0, i;
scanf("%d/%d/%d", &year, &month, &day);
int month_days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 判断是否为闰年,修改二月的天数
if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
month_days[2] = 29;
}
// 计算该日期之前的天数
for(i = 1; i < month; i++) {
days += month_days[i];
}
// 加上该月的天数和该日之前的天数
days += day;
printf("%d", days);
return 0;
}
```
首先读入日期,同时创建一个长度为 13 的数组 month_days 保存每个月的天数,数组下标对应着月份。根据闰年的定义修改二月的天数。接着使用一个循环计算该日期之前的天数,最后加上该月的天数和该日之前的天数即为该日期在该年中的天数。
需要注意的是,题目中的日期格式为 yyyy/mm/dd,因此我们需要使用 `scanf` 函数读入时加上 `/` 占位符。
阅读全文