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

大神求助!

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum ;

    switch(month)

    {

            case 1:

            sum = 39;

            break;

            case 2:

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

            {

                sum = 68;

            }

            else

            {

                sum = 67;

            }

            case 3:

            sum = 99;

            break;

            case 4:

            sum = 129;

            break;

            case 5:

            sum = 160;

            break;

            case 6:

            sum = 190;

            break;

            default:

            sum = 221;

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

            break;

    }

    return 0;

}

请问这样写可以吗??


正在回答

1 回答

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    int index = 0;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    int i;
    for (i = 1; i < month; i++)
    {
        switch (i)
        {
         case 2:
         index += year % 4 == 0 ? 29 : 28;
         break;
         case 4:
         case 6:
         case 9:
         case 11:
         index += 30;
         break;
         default:
         index += 31;
         break;

        }
    }
    index += day;
    printf("%d年%d月%d日是该年的第%d天。", year, month, day, index);
 return 0;
}

// 我觉得这么写更好

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

qq_慕娘6287402 提问者

方便的话 可以解释一下switch语句里case 4 6 9 11是什么意思嘛 没看懂作用?
2019-09-18 回复 有任何疑惑可以回复我~
#2

慕莱坞7123771 回复 qq_慕娘6287402 提问者

4、6、9、11月是小月,只有30天,所以加30,2月特殊所以单独处理,剩下的都是大月,所以加31天
2019-09-18 回复 有任何疑惑可以回复我~
#3

qq_慕娘6287402 提问者 回复 慕莱坞7123771

明白了,也就是说一年所有月有多少天都要列出来,然后题目给的是八月份所以就让程序终止在8月,然后再输出,对吗?
2019-09-18 回复 有任何疑惑可以回复我~
#4

慕莱坞7123771 回复 qq_慕娘6287402 提问者

对的对的,不好意思,这么晚才看到
2019-09-18 回复 有任何疑惑可以回复我~
#5

qq_慕娘6287402 提问者 回复 慕莱坞7123771

没事啊兄弟方便互关一下嘛 如果有问题我直接私信你?
2019-09-20 回复 有任何疑惑可以回复我~
#6

慕莱坞7123771 回复 qq_慕娘6287402 提问者

好的,已关注
2019-09-21 回复 有任何疑惑可以回复我~
查看3条回复

举报

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

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

进入课程

大神求助!

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