解题思路:首先判断年份是否是闰年还是平年,如果为闰年那么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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论