哪儿不对啊,求指教

来源:4-17 switch与if语句的应用

wendian_LI

2015-07-24 17:39

#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;
}


写回答 关注

1回答

  • Perona
    2015-07-24 17:44:14
    已采纳
    default:printf("一年中只有十二个月!");break;

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

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


    Perona 回复wendia...

    不客气~~

    2015-07-24 17:46:42

    共 2 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926025 学习 · 20793 问题

查看课程

相似问题