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

求大神们帮我看看哪里错了,一直运行不出来

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

     int s,t;

    switch(month)

    {

        case 1:s=0;break;

        case 2:s=31;break;

        case 3:s=59;break;

        case 4:s=90;break;

        case 5:s=120;break;

        case 6:s=151;break;

        case 7:s=181;break;

        case 8:s=212;break;

        case 9:s=242;break;

        case 10:s=273;break;

        case 11:s=303;break;

        case 12:s=334;break;

        default:printf("一年只有十二个月哦~");break;

        

    }

    s=s+day;

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

      t=1;

    else

      t=0;

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

      s+=1;

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

    

    

return 0;

}


提问者:慕斯8278589 2020-02-15 22:48

个回答

  • pghao
    2020-02-17 17:19:09

    http://img2.mukewang.com/5e4a5a340001c4f710780635.jpg1.是中英文的区别;2.是括号

  • 猴子七号
    2020-02-17 17:00:09

    刚刚试了一次,应该是你输入法的英文打成全角字符了(就是类似把中文逗号当成英文逗号一样)

    建议以后不要看输入法打字,用系统默认英文输入键盘。

    将下列代码替换原来代码就可以了,普通来看确实很难看出差别。

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