解题思路:首先判断年份是否是闰年还是平年,如果为闰年那么2月份就是29天,反之就是28天,最后将数据存储在数组中等待读取。然后在判断月份,根据每月天数累加(当前月份前的月份累加)再加上当前月份天数,就得到最终天数了。
注意事项:注意闰年平年判断
参考代码:
#include <stdio.h>
/*思路:如果是12月11号,那么就直接读取前12-1月的天数然后加上11即可*/
/*计算该日在本年处于多少天*/
struct Timer{
int year; //年
int month; //月
int date; //日
int February_Date;//2月的天数
int SumDate; //记录天数
}ls_Timer;
int main() {
/*存储每月天数*/
int Month_Date[12]={31, 0,31,30,31,30,31,31,30,31,30,31};
/*写入年月日*/
scanf("%d%d%d",&ls_Timer.year,&ls_Timer.month,&ls_Timer.date);
/*判断平闰年输出2月天数*/
ls_Timer.February_Date=((ls_Timer.year%4==0&&ls_Timer.year%100!=0)||(ls_Timer.year%400==0)) ? 29 : 28; //区分闰年平年并写入2月天数
Month_Date[1]=ls_Timer.February_Date; //将2月天数存储到数值中
/*存储前几个月的天数*/
int i=0; //遍历次数
ls_Timer.SumDate=0; //记录天数
for(i = 0; i < ls_Timer.month - 1; i++){
ls_Timer.SumDate += Month_Date[i];
}
/*加上当前月份天数得到最终天数*/
ls_Timer.SumDate+=ls_Timer.date;
/*打印最终天数到调试台*/
printf("%d",ls_Timer.SumDate);
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复