c++输入年份月份日期输出该日期是该年份第几天
时间: 2023-05-16 11:07:45 浏览: 122
这是一个计算日期在一年中第几天的问题,可以使用以下的代码实现:
```c
#include <stdio.h>
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
int getDayOfYear(int year, int month, int day) {
int daysOfMonth[] = {31, 28 + isLeapYear(year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int dayOfYear = 0;
for (int i = 0; i < month - 1; i++) {
dayOfYear += daysOfMonth[i];
}
dayOfYear += day;
return dayOfYear;
}
int main() {
int year, month, day;
printf("请输入年份月份日期,格式为 yyyy mm dd:");
scanf("%d %d %d", &year, &month, &day);
int dayOfYear = getDayOfYear(year, month, day);
printf("%d 年 %d 月 %d 日是该年的第 %d 天。\n", year, month, day, dayOfYear);
return 0;
}
```
这个程序会先判断输入的年份是否是闰年,然后根据每个月的天数计算出该日期在一年中的第几天。注意,这个程序没有对输入的日期进行合法性检查,比如输入的月份必须在 1 到 12 之间,日期必须在该月的合法范围内。
阅读全文