1. 定义一个结构体变量(包括年、月、日),计算该日在本年中是第几天,注意闰年的问题。
程序代码:
#include <stdio.h>
typedef struct {
int year;
int month;
int day;
} Date;
// 计算是否为闰年
int isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
// 计算该日在本年中是第几天
int dayOfYear(Date date) {
// 每个月的天数
int daysInMonth[] = {31, 28 + isLeapYear(date.year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
// 初始化总天数为当月的天数
int totalDays = date.day;
// 累加前面几个月的天数
for (int i = 0; i < date.month - 1; i++) {
totalDays += daysInMonth[i];
}
return totalDays;
}
int main() {
Date date;
printf("请输入日期(年月日,例如2021 12 15): ");
scanf("%d %d %d", &date.year, &date.month, &date.day);
int day = dayOfYear(date);
printf("%d年%d月%d日是该年中的第%d天\n", date.year, date.month, date.day, day);
return 0;
}
标签:int,11.22,31,month,year,date,day From: https://www.cnblogs.com/lml66/p/17909396.html