用C语言在一行中按照格式“yyyy-mm-dd”输入日期,题目保证输入的日期是合法正确的。闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。 输出格式: 按格式要求输出日期是该年中的第几天。 输入样例:
时间: 2024-12-18 20:26:41 浏览: 35
在C语言中,可以使用`scanf`函数获取用户输入的日期,并结合闰年的判断规则来计算该年中的天数。下面是一个简单的示例程序,演示如何在一行中接收并处理"yyyy-mm-dd"格式的日期:
```c
#include <stdio.h>
#include <time.h>
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int year, month, day;
char date[11];
// 输入日期字符串,格式 "yyyy-mm-dd"
scanf("%d-%d-%d", &year, &month, &day);
// 检查输入是否合法
if(month >= 1 && month <= 12 && day >= 1 && day <= 31) {
struct tm t = {0};
t.tm_year = year - 1900; // 转换为自1900年以来的年份
t.tm_mon = month - 1;
t.tm_mday = day;
// 计算该日期是一年中的第几天
time_t timestamp = mktime(&t);
int days_in_year = (is_leap_year(year) ? 366 : 365); // 根据闰年情况确定总天数
printf("输入日期 %d-%02d-%02d 是该年中的第 %d 天。\n", year, month, day, days_in_year);
} else {
printf("输入的日期非法!\n");
}
return 0;
}
```
阅读全文
相关推荐


















