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

为什么这样运行不了?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

     for(i=1;i<=month;i++)

     switch(i){

         case 1:day=day+31;break;

         case 2:if(year%400==0||year%4==0&&year%100!=0){day=day+29;}

                else{day=day+28;}break;

         case 3:

         case 5:

         case 7:

         case 8:day=day+31;break;

         case 4:

         case 6:day=day+30;break;

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


提问者:慕神3322870 2019-05-20 17:10

个回答

  • 小白学技术
    2019-05-21 01:28:14

    你这里面有两个错
    1.没定义常量i;
    2.(year%400==0||year%4==0&&year%100!=0):这个条件是啥意思?如果你想要表达能被400整除或者(能被4整除且不能被100整除),那么你的条件应该是(year%400==0||(year%4==0&&year%100!=0))

  • 慕圣9305881
    2019-05-20 20:11:38

    是不是需要先定义常量,  int i;