为什么这个不能出来结果呢?

来源:4-17 switch与if语句的应用

奔跑01234567

2016-01-15 22:27

#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%100!=0&&year%4==0))
    {
        i=1;
    }
    else
    {
        i=0
    }
    switch(mouth)
        case 1:j=day;break;
        case 2:j=day+31;break;
        case 3:j=day+31+28;break;
        case 4:j=day+31+28+31;break;
        case 5:j=day+31+28+31+30;break;
        case 6:j=day+31+28+31+30+31;break;
        case 7:j=day+31+28+31+30+31+30;break;
        case 8:j=day+31+28+31+30+31+30+31;break;
        case 9:j=day+31+28+31+30+31+30+31+31;break;
        case 10:j=day+31+28+31+30+31+30+31+31+30;break;
        case 11:j=day+31+28+31+30+31+30+31+31+30+31;break;
        case 12:j=day+31+28+31+30+31+30+31+31+30+31+30;break;
        default:printf("一年只有12个月");
    if(mouth>3)
    {
        j+=i;
    }
    else
    {
        j=j;
    }
    printf("%d年%月%日是该年的第%d天",year,mouth,day,j);
	return 0;
}


写回答 关注

1回答

  • littleOStar
    2016-01-16 03:00:03
    已采纳

    #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%100!=0&&year%4==0))

        {

            i=1;

        }

        else

        {

            i=0;

        }

        switch(month)

        {

            case 1:j=day;break;

            case 2:j=day+31;break;

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

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

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

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

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

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

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

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

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

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

            default:printf("一年只有12个月");
        }
        if(month>3)

        {
            j+=i;
        }

        else

        {
            j=j;
        }

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

        return 0;
    }

    //你的错误, 好奇葩

    奔跑0123...

    非常感谢!

    2016-01-21 16:08:50

    共 1 条回复 >

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题