用c语言给定一个日期,输出这个日期是该年的第几天。 Input 输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。 Output 对于每组输入数据,输出一行,表示该日期是该年的第几天。
时间: 2024-10-21 15:09:53 浏览: 50
100个经典例题(C语言).doc
在C语言中,计算一个日期是当年的第几天可以通过编程实现,通常会利用闰年规则和月份天数的不同。下面是一个简单的步骤来完成这个任务:
1. 首先,需要判断给定的年份是否是闰年。闰年的条件是能被4整除,但不能被100整除,除非它也能被400整除。
2. 接着,你需要计算出从1月1日到输入日期之间的天数。这涉及到对每个月天数的累加,注意二月有28天或29天(闰年)。
下面是一个伪代码示例:
```c
#include <stdio.h>
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int days_in_month(int month, int year) {
switch(month) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
return 31;
case 4: case 6: case 9: case 11:
return 30;
case 2:
return is_leap_year(year) ? 29 : 28;
default:
return -1; // 错误的月份
}
}
int main() {
int year, month, day;
scanf("%d/%d/%d", &year, &month, &day);
int total_days = 0;
for (int i = 1; i < month; i++) {
total_days += days_in_month(i, year);
}
total_days += day;
printf("日期 %d/%d/%d 是该年的第 %d 天。\n", year, month, day, total_days);
return 0;
}
```
阅读全文