c语言 输入某年某日某月 判断这一天是这一年打的第几天 输入年月日 输出这一天是这一年的第几天 请写出全部代码
时间: 2024-11-25 07:09:29 浏览: 10
C语言案例:键盘输入年月日,计算这一天是这一年的第几天.docx
在C语言中,你可以通过计算每个月份天数并累加前几个月的总天数来实现这个功能。下面是一个简单的示例代码,假设用户输入的是非闰年的日期:
```c
#include <stdio.h>
int is_leap_year(int year) {
// 判断是否是闰年
if (year % 4 != 0) return 0;
else if (year % 100 != 0) return 1;
else if (year % 400 != 0) return 0;
else return 1;
}
// 计算给定月份的天数
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;
default:
return is_leap_year(year) ? 29 : 28; // 处理闰年
}
}
int main() {
int year, month, day;
printf("请输入年份、月份和日期(例如:2023 2 28):");
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天。\n", total_days);
return 0;
}
```
阅读全文