碧天长虹


私信TA

用户名:Robot

访问量:788

签 名:

等  级
排  名 46895
经  验 67
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校 浙江大学
专  业

  自我简介:

解题思路:

先计算该月第一天是该年第几天,然后再根据该日为该月第几天,通过相加把最后结果计算出来。



注意事项:

注意闰年的计算



参考代码:

#include"stdio.h"


typedef struct                                    //定义结构体,year为年,month为月,day为日

{

int year;

int month;

int day;

}DateInitType;


int main(void)

{

  DateInitType DateInitStructure;

  int result=0,i;                              //result为计算结果,i为临时变量

  int EachMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};        //存储每个月的天数


  scanf("%d %d %d",&DateInitStructure.year,&DateInitStructure.month,&DateInitStructure.day);

                                     //输入年、月、日

  if(DateInitStructure.year%4 == 0)             //判断是否为闰年,如果是,把二月天数改为29,否则为28

  {

    EachMonth[1] = 29;

  }

  else

 {

    EachMonth[1] = 28;

  }

  for(i=0;i<DateInitStructure.month-1;i++)           //计算当月第一天为当年第几天,计算结果存到result

  {

    result += EachMonth[i];

  }

  result += DateInitStructure.day;                          //在result上加上当月的日期

  printf("%d\n",result);                                 //输出计算结果

}


 

0.0分

0 人评分

  评论区