问答详情
源自:4-17 switch与if语句的应用

求大神指教哪里错了

#include <stdio.h>
int main() 
{ 
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int a = 30;
    int b = 31;
    int sum , f;
    switch(month)
    {
        case 1:sum=0;
        break;
        case 2:sum=b;
        break;
        case 3:sum=a+b;
        brake;
        case 4:sum=a+2*b;
        break;
        case 5:sum=2*a+2*b;
        break;
        case 6:sum=2*a+3*b;
        break;
        case 7:sum=3*a+3*b;
        break;
        case 8:sum=3*a+4*b;
        break;
        case 9:sum=3*a+5*b;
        break;
        case 10:sum=4*a+5*b;
        break;
        case 11:sum=4*a+6*b;
        break;
        case 12:sum=5*a+6*b;
        break;
        default;
        printf("一年只有12个月哦~");
        break:
    }
    if(year%4==0&&year%100!=0||year%400==0)
        f=1;
    else
        f=2;
    if(month>2)
        sum=sum+day-f;
    else
        sum+=day;
    printf("%d年%d月%d日是该年的第%d天。",year,month,day,sum);
	return 0;
}


提问者:幕布斯326804 2017-08-08 08:17

个回答

  • 无声有息
    2017-08-08 10:13:16
    已采纳

    那个break那么明显没看出来吗

  • 李玲玉玉玉玉玉玉玉
    2017-08-08 10:12:41

    二月份的话闰年29天,平年28天  怎么可以用30天表示呢?

  • 慕仰7495308
    2017-08-08 10:09:49

    一年的天数你没算明白,平年2月是29天,还有最后分类平年,闰年的时候,计算不要用f来代替1