问答详情
源自: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;
}   
    sum=sum+day;
    if((year%4==0&&year%100!=0)||year%400==0)
        flag=1;
    else
        flag=0;
    if(flag=1&&month>=3)
        sum++;
    printf("%d年%d月%d号是该年的第%d天",year,month,day,sum);
    return 0;
}
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
   

提问者:qq_慕用1556377 2019-09-23 23:23

个回答

  • weixin_慕前端1165108
    2019-09-27 11:07:43

    最后的if括号里应该是flag==1而不是flag=1,单等号是赋值,双等号是判断

  • qq_慕用1556377
    2019-09-24 19:21:52

    还是没用啊

  • 小小疾飞
    2019-09-24 12:51:32

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