用c语言写出从键盘输入某日期的年、月、日,输出该日期是当年的第几天
时间: 2024-05-12 08:15:26 浏览: 121
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int year, month, day, days = 0;
int month_days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每个月份的天数
printf("请输入日期(年 月 日):");
scanf("%d %d %d", &year, &month, &day);
// 判断是否为闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
month_days[1] = 29; // 闰年2月有29天
}
// 计算当年已经过去的天数
for (int i = 0; i < month - 1; i++) {
days += month_days[i];
}
days += day;
printf("该日期是当年的第%d天\n", days);
return 0;
}
```
其中,使用了一个 `month_days` 数组来储存每个月份的天数,然后根据输入的年份是否为闰年来修改数组中的二月天数。接着,使用一个循环计算出输入日期之前每个月份的天数之和,再加上输入的日期,即可得出该日期是当年的第几天。
阅读全文