案例描述】

编程实现:输入年月日,计算出该日是该年的第几天。要求:

输入格式:19840302

输出格式:62

计算机switch结构应用案例

案例分析】

1、可以根据输入的日期,先按月逐月计算天数,再加上当月的日数。

2、需要考虑闰年的2月份有29天,平年的2月份只有28天。

3、年y为闰年的条件是:y能被400整除。或者,y能被4整除,但不能被100整除。

计算机switch结构应用案例

参考代码】

main()

{ int y,m,d;

  scanf("%4d%2d%2d",&y,&m,&d);

  switch(m)//逐一加上个月的天数

  { case 12:d+=30;

    case 11:d+=31;

    case 10:d+=30;

    case 9:d+=31;

    case 8:d+=31;

    case 7:d+=30;

    case 6:d+=31;

    case 5:d+=30;

    case 4:d+=31;

    case 3:d+=28;

    case 2:d+=31; }

  if(m>2)

      if(y%400==0||(y%4==0&&y%100))d++;

  printf("%d",d);}

/*方法

main()

{ int y,m,d;

  scanf("%4d%2d%2d",&y,&m,&d);

  d+=(m-1)*30;//先月按30天计算

  d+=m/2+(m==9)+(m==11);//加上m月前的大月数

  if(m>2)//闰年判断

    if(y%400==0||(y%4==0&&y%100))d--;else d-=2;

  printf("%d",d);}*/