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

哪儿不对啊,求指教

#include <stdio.h>
int main() 
{ 
    /* 定义需要计算的日期 */
    int year = 2008;//需计算的年份
    int month = 8;//需计算的月份
    int day = 8;//需计算的日
    //定义总天数和判断是否是闰年的状态位
    int sum, flag;
    //使用switch语句计算月数的天数
    switch(month)
    {
        case 1:sum = 0;break;
        case 2:sum = 31;break;
        case 3:sum = 59;break;
        case 4:sum = 90;break;
        case 5:sum = 120;break;
        case 6:sum = 151;break;
        case 7:sum = 181;break;
        case 8:sum = 212;break;
        case 9:sum = 243;break;
        case 10:sum = 273;break;
        case 11:sum = 304;break;
        case 12:sum = 334;break;
        default:printf("一年中只有十二个月!");break;
    }
    
    //计算天数
    sum = sum + day;
    //当该年为闰年的时候,将状态设置为1否则设置为0
    if(year%400 == 0||(year%4 == 0 && year%100 != 0))
        flag = 1;
    else
        flag = 0;
        //当需要计算的日期是闰年并且需计算的月份大于2月时,计算的天数自动加1
        if(flag == 1 && month > 2)
        sum++;
        printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
    return 0;
}


提问者:wendian_LI 2015-07-24 17:39

个回答

  • Perona
    2015-07-24 17:44:14
    已采纳

    default:printf("一年中只有十二个月!");break;

    这里括号外的分号敲成了中文分号,改成英文的即可

    default:printf("一年中只有十二个月!");break;