用C语言给出年、月、日,计算该日是该年的第几天
时间: 2023-11-28 10:04:41 浏览: 129
C语言计算某日是该年的第几天
好的,这是一个简单的计算题。你可以按照以下步骤来解决它:
1. 读入年、月、日的值。
2. 计算该月之前所有月份的天数之和。
3. 加上当月的天数。
4. 如果该年是闰年且月份大于2月,则总天数加1。
5. 输出总天数。
下面是对应的 C 代码实现:
```c
#include <stdio.h>
int is_leap_year(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
int main() {
int year, month, day;
int total_days = 0;
int days_per_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
printf("请输入年、月、日:");
scanf("%d%d%d", &year, &month, &day);
for (int i = 0; i < month - 1; ++i) {
total_days += days_per_month[i];
}
total_days += day;
if (is_leap_year(year) && month > 2) {
total_days += 1;
}
printf("%d年%d月%d日是该年的第%d天\n", year, month, day, total_days);
return 0;
}
```
注意:上述代码假定输入的年、月、日都是合法的。在实际开发中,应该对用户输入进行合法性检查和错误处理。
阅读全文