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

请问这个代码的问题

#include <stdio.h>

int main() 

    /* 定义需要计算的日期 */

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,flag;

    

    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("一年只有12个月份哦~");break;

    }

    sum= sum+day;

    

    if((year%4==0 && year%100!=0) || year%400==0)

        flag=1;

     

    else

        flag=0;

    if(flag==1&&month>2)

        sum = sum++;

    printf("%d年%d月%d日是该年的第%d天。",year,month,day,sum);

    


return 0;

}


提问者:帅师兄 2017-11-27 13:22

个回答

  • 慕勒5384567
    2017-12-21 17:28:28

    首先你case后面的数字放在:后面了 放错了  应该在:前面 但是要在case后面留一个空格 例如”case 1:“

  • weibo_FANG的日常_0
    2017-11-27 14:50:24

    直接++sum

  • Aceks
    2017-11-27 13:53:38

    sum=sum++那里错了吧,改成sum=sum+1试试