首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

输入某年某月某日,判断这一天是这一年的第几天? 为什么小弟我编的少了3天呢 求解?

2012-04-06 
输入某年某月某日,判断这一天是这一年的第几天? 为什么我编的少了3天呢 求解???#include stdio.h#includ

输入某年某月某日,判断这一天是这一年的第几天? 为什么我编的少了3天呢 求解???
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int i,year,month,day,sum=0,days,sumday;
  printf("请输入year,month,day:");
  scanf("%d%d%d",&year,&month,&day);
for(i=1;i<month;i++)
{
  switch(i)
  {
  case 1 :case 3: case 5 :case 7: case 8:case 10:case 12:days=31;
  case 4:case 6 :case 9:case 11:days=30;

  case 2:
  if(year%400==0||(year%4==0&&year%100!=0))
  days=29;
  else
  days=28;

  }


  sum=days+sum;
  }



  sumday=sum+day;
  printf("%d",sumday);

}


[解决办法]
case 1 :case 3: case 5 :case 7: case 8:case 10:case 12:days=31;break;
case 4:case 6 :case 9:case 11:days=30;break;

[解决办法]
你的switch 语句没有跳出,每次都是循环到最后,你应该在days=31;berak; days=30;break;

热点排行