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

不懂为什么我的错了

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

     * 请使用switch语句,if...else语句完成本题

     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”

     * 小编还是希望大家独立完成哦~

     */

     int x=0;

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

     {

      switch(month)

      case 12:

      x=31*6+30*4+29+day;

      printf("是该年的第%d天", x);

      break;

      case 11:

      x=31*6+30*3+29+day;

      printf("是该年的第%d天", x);

      break;

      case 10:

      x=31*5+30*3+29+day;

      printf("是该年的第%d天", x);

      break;

      case 9:

      x=31*5+30*2+29+day;

      printf("是该年的第%d天", x);

      break;

      case 8: 

      x=31*4+30*2+29+day;

      printf("是该年的第%d天", x);

      break;

      case 7:

      x=31*3+30*2+29+day;

      printf("是该年的第%d天", x);

      break;

      case 6: 

      x=31*3+30*1+29+day;

      printf("是该年的第%d天", x);

      break;

      case 5: x=31*2+30*1+29+day;

      printf("是该年的第%d天", x);

      break;

      case 4:

      x=31*2+30*0+29+day;

      printf("是该年的第%d天", x);

      break;

      case 3: 

      x=31*1+30*0+29+day;

      printf("是该年的第%d天", x);

      break;

      case 2:

      x=29+day;

      printf("是该年的第%d天", x);

      break;

      case 1:

      x=day;

      printf("是该年的第%d天", x);

      break;}

    else{

        switch(month)

      case 12:

      x=31*6+30*4+28+day;

      printf("是该年的第%d天", x);

      break;

      case 11:

      x=31*6+30*3+28+day;

      printf("是该年的第%d天", x);

      break;

      case 10:

      x=31*5+30*3+28+day;

      printf("是该年的第%d天", x);

      break;

      case 9:

      x=31*5+30*2+28+day;

      printf("是该年的第%d天", x);

      break;

      case 8: 

      x=31*4+30*2+28+day;

      printf("是该年的第%d天", x);

      break;

      case 7:

      x=31*3+30*2+28+day;

      printf("是该年的第%d天", x);

      break;

      case 6: 

      x=31*3+30*1+28+day;

      printf("是该年的第%d天", x);

      break;

      case 5: x=31*2+30*1+28+day;

      printf("是该年的第%d天", x);

      break;

      case 4:

      x=31*2+30*0+28+day;

      printf("是该年的第%d天", x);

      break;

      case 3: 

      x=31*1+30*0+28+day;

      printf("是该年的第%d天", x);

      break;

      case 2:

      x=28+day;

      printf("是该年的第%d天", x);

      break;

      case 1:

      x=day;

      printf("是该年的第%d天", x);

      break;

    }

    

    

    

    

    









return 0;

}



提问者:被可爱小猫咪抱着的酸奶 2020-10-24 11:11

个回答

  • 被可爱小猫咪抱着的酸奶
    2020-10-24 11:17:25

    懂了switch忘加{}了