用c语言和二维数组写题目描述 本题要求编写程序计算某年某月某日是该年中的第几天。 输入 输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。 输出 在一行输出日期是该年中的第几天。
时间: 2024-03-04 09:49:26 浏览: 65
以下是用 C 语言和二维数组编写的程序:
```c
#include <stdio.h>
int main()
{
int year, month, day, 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} // 闰年每月的天数
};
scanf("%d/%d/%d", &year, &month, &day);
// 判断是否为闰年
int isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
// 计算该年前几个月的天数总和
for (int i = 0; i < month - 1; i++) {
days += daysOfMonth[isLeapYear][i];
}
// 加上当前月的天数
days += day;
printf("%d\n", days);
return 0;
}
```
程序首先定义了一个二维数组 `daysOfMonth`,其中第一行表示平年每个月的天数,第二行表示闰年每个月的天数。接着,程序读入日期,判断是否为闰年,然后计算该年前几个月的天数总和,最后加上当前月的天数,就可以得到该日期是该年中的第几天了。
阅读全文