解题思路:
注意事项:
参考代码:
#include <stdio.h>
int number = 0;
int i = 0;
int year = 0;
int month = 0;
int day = 0;
//这开始是用来假设计算:year是否是闰年;并且计算这个month的月底一共有多少天的;先不计算day;
//就像year=2024;month=3;day=6
//先判断是否为闰年;在将三月按照月底的天数算,得到:三月底是的天数,day先不计算;
int main() {
printf("请输入具体的年月日!\n");
printf("年月日分别为:\n");
scanf("%d %d %d", &year, &month, &day);
for (i = 1; i <= month; i++) {
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
number = number + 31;
} else if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
number = number + 29;
} else {
number = number + 28;
}
} else {
number = number + 30;
}
}
//现在我们已经知道,在这一年里,并且在三月的总天数;
//首先,在这里我们减去,这一年中整个三月的天数(31天),加上真正的天数6;
//就可以得到这一天,是这一年中的第 %d 天
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
number = number - 31 + day;
} else if (month == 2) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
number = number - 29 + day;
} else {
number = number - 28 + day;
}
} else {
number = number - 30 + day;
}
printf("这一天,是这一年中的第 %d 天", number);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复