一.题目要求
输入2000年6月5日,输出:这是2000年的第157天。
二.思路分析
首先定义一个包含年月日的结构体
年份:要判断是否是闰年,闰年的二月有29天,平年的二月有28天。
月份:一个月份分大月和小月,大月31天,小月30天(除2月)
天数:每一个月的天数加起来
三.完整代码
cs
typedef struct Day
{
int year;
int mother;
int day;
}Day;
int GetDay(const Day* pd)
{
int arr[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//12个月中有大月有小月
int sum = 0;//日期加和
if (pd->year % 4 == 0 && pd->year % 100 != 0 || pd->year % 400 == 0)//判断闰年
{
arr[1] = 29;//闰年的二月就是29天
}
else
{
arr[1] = 28;//平年的二月是28天
}
for (int i = 0; i < pd->mother - 1; i++)
{
sum += arr[i];
}
sum += pd->day;
return sum;
}
int main()
{
Day p;//结构体变量具体天,变量名为p
printf("请输入具体日期:\n");
scanf("%d%d%d", &p.year, &p.mother, &p.day);
printf("这是%d年的第%d天\n", p.year, GetDay(&p));
return 0;
}
四.运行结果
创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。
欢迎各位帅哥美女点赞👍评论⭐收藏⭐,谢谢!!!
如果有什么疑问或不同的见解,欢迎在评论区留言哦👀。
祝各位生活愉快⭐