酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

用C语言实现:输入日期计算该年第几天,非法日期输出0

#include <stdio.h> struct date { int year; int month; int day; }; int isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; } else { return 0; } } int dayOfMonth(int month, int year) { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { return 31; } else if (month == 4 || month == 6 || month == 9 || month == 11) { return 30; } else if (month == 2) { if (isLeapYear(year)) { return 29; } else { return 28; } } else { return 0; } } int main() { struct date date; int totalDays = 0; printf("请输入年、月、日:"); scanf("%d %d %d", &date.year, &date.month, &date.day); if (date.year < 1 || date.month < 1 || date.month > 12 || date.day < 1 || date.day > dayOfMonth(date.month, date.year)) { printf("输入的日期非法\n"); } else { for (int i = 1; i < date.month; i++) { totalDays += dayOfMonth(i, date.year); } totalDays += date.day; printf("%d\n", totalDays); } return 0; } ######[AI写代码神器 | 814点数解答 | 2024-12-08 15:49:32]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]