c语言输入年月日判断第几天
时间: 2023-08-24 08:30:20 浏览: 121
可以按照以下步骤来实现:
1. 从控制台或文件输入年月日。
2. 根据输入的年份,计算出该年是否为闰年。
- 如果该年能被4整除但不能被100整除,或者能被400整除,则为闰年。
3. 根据输入的月份和是否为闰年,计算出该月份的天数。
4. 将输入的天数加上前面所有月份的天数,即可得到该日期是该年的第几天。
下面是一个示例代码:
```c
#include <stdio.h>
int main() {
int year, month, day;
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 每个月的天数,2月份默认为28天
int totalDays = 0; // 该日期是该年的第几天
int i;
// 输入年月日
printf("请输入年月日,格式为yyyy-mm-dd:");
scanf("%d-%d-%d", &year, &month, &day);
// 判断闰年
if ((year%4==0 && year%100!=0) || year%400==0) {
days[1] = 29; // 闰年2月份为29天
}
// 计算天数
for (i = 0; i < month - 1; i++) {
totalDays += days[i];
}
totalDays += day;
// 输出结果
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, totalDays);
return 0;
}
```
注意:这段代码只是一个示例,可能存在一些未考虑的情况,需要根据具体情况进行调整。
阅读全文