为了账号安全,请及时绑定邮箱和手机立即绑定

非法字符 哈?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

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

    {

        case 2:

        day+=29;

    }    

    else

    {

        case 2:

        day+=28;

    }

   for(;month>0;month--)

   {

       switch(month)

       case 1:

       day+=31;

       break;

       

       case 2:

        break;

       

       case 3:

       day+=31;

        break;

       

       case 4:

       day+=30;

        break;

       

       case 5:

       day+=31;

        break;

       

       case 6:

       day+=30;

        break;

       

       case 7:

       day+=31;

        break;

       

       case 8:

       

       default:

       break;

       

   }

    

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


正在回答

3 回答

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

 {

        case 2:

        day+=29;

    }    

    else

    {

        case 2:

        day+=28;

    }错了switch(month)     case 2:          break;         default:要同时使用.也就是说case 2:必须出现在switch的大括号内.


0 回复 有任何疑惑可以回复我~

case不能空着,还有用了break就最好不要“day+=30”,你break中断了,就不是前面学的循环,从上面一直加到下面了。你要么不要break,要么直接加总数。

1 回复 有任何疑惑可以回复我~

代码是有顺序结构的,你一开始就case,怎么可能呀,要有switch-case结构呀

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926263    人
  • 解答问题       20798    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

非法字符 哈?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信