这样写的结果为什么不对

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

慕慕0074803

2019-06-25 20:43

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;


    int sum,f;
    switch(month)
    {
       case 1:sum=0;
       break;
        case 2:sum+=31;
        break;
        case 3:sum+=28;
        break;
        case 4:sum+=31;
        break;
        case 5:sum+=30;
        break;
        case 6:sum+=31;
        break;
        case 7:sum+=30;
        break;
        case 8:sum+=31;
        break;
        case 9:sum+=31;
        break;
        case 10:sum+=30;
        break;
        case 11:sum+=31;
        break;
        case 12:sum+=30;
        break;
        case 13:sum+=31;
        break;
       
    }
    sum+=day;
    if(year%4==0)
    {
        f=1;}
    else
    {f=0;}
    if(f==1&&month>2)
    sum++;
   
    printf("2008年8月8日是该年的第%d天\n",sum);


 return 0;
}


写回答 关注

1回答

  • qq_精慕门5286573
    2019-06-25 20:58:50

    你这个。。。sum在分支中一直加。。。加到11即可

C语言入门

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

924614 学习 · 20763 问题

查看课程

相似问题