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

switch和if怎么做啊

58131c4f0001c59d03600640.jpg
哪位大神能教一下

正在回答

2 回答

#include <stdio.h>
int main()
{
    /* 定义需要计算的日期 */
    int year = 2008;
    int month = 8;
    int day = 8;
    /*
     * 请使用switch语句,if...else语句完成本题
     * 如有想看小编思路的,可以点击左侧任务中的“不会了怎么办”
     * 小编还是希望大家独立完成哦~
     */
    switch(month-1){
        case 12: day += 31;
        case 11: day += 30;
        case 10: day += 31;
        case 9:  day += 30;
        case 8:  day += 31;
        case 7:  day += 31;
        case 6:  day += 30;
        case 5:  day += 31;
        case 4:  day += 30;
        case 3:  day += 31;
        case 2:
        if(year%400==0||(year%4==0&&year%100!=0))
            day += 29;
        else
            day += 28;
        case 1:  day += 31;
    }
    printf("2008年8月8日是该年的第%d天\n",day);
 return 0;
}

http://img1.sycdn.imooc.com//58312d4e0001acf508060568.jpg

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

先判断出2008年是闰年,然后12个月每月一个case

include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

   int i,j;

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

    i=1;

    else i=0;

    switch(month)

    {

        case 1:j=day;break;

        case 2:j=31+ day;break;

        case 3:j=31+ 28+ day;break;

        case 4:j=31+ 28+ 31+ day;break;

        case 5:j=31+ 28+ 31+ 30+ day;break;

        case 6:j=31+ 28+ 31+ 30+ 31+ day;break;

        case 7:j=31+ 28+ 31+ 30+ 31+ 30+ day;break;

        case 8:j=31+ 28+ 31+ 30+ 31+ 30+ 31+day;break;

        case 9:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ day;break;

        case 10:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+day;break;

        case 11:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+ 31+day;break;

        case 12:j=31+ 28+ 31+ 30+ 31+ 30+ 31+ 31+ 30+ 31+ 30+ day;break;

    }

    if(i==1)j+=1;

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

    return 0;

}


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

啊哈18 提问者

谢了哈
2016-10-28 回复 有任何疑惑可以回复我~
#2

SawadaTsunayoshi

可不可以简单化点
2016-11-07 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

switch和if怎么做啊

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