读书人

输入某年某月某日判断这一天是这一年

发布时间: 2012-04-06 12:22:24 作者: rapoo

输入某年某月某日,判断这一天是这一年的第几天? 为什么我编的少了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;

读书人网 >C++

热点推荐