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

为什么运行不出来啊

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    /*

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

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

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

     */

     int sum;

    if(year/4==0)

    {

        

        switch(month)

        {

            case 1:sum=0;break;

            case 2:sum=31;break;

            case 3:sum=59;break;       

            case 4:sum=90;break;

            case 5:sum=120;break;       

            case 6:sum=151;break;

            case 7:sum=181;break;      

            case 8:sum=212;break;

            case 9:sum=243;break;

            case 10:sum=273;break;

            case 11:sum=304;break;

            case 12:sum=334;break;

        }

    }

    else

    {

        

        switch(month)

        {

            case 1:sum=0;break;

            case 2:sum=31;break;

            case 3:sum=60;break;       

            case 4:sum=91;break;

            case 5:sum=121;break;       

            case 6:sum=153;break;

            case 7:sum=182;break;      

            case 8:sum=213;break;

            case 9:sum=244;break;

            case 10:sum=274;break;

            case 11:sum=305;break;

            case 12:sum=335;break;

        }

    }

    sum+=day;

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

return 0;

}


提问者:迷你大白菜 2021-02-05 14:26

个回答

  • 采彡丶虫工
    2021-03-14 17:18:27

    #include <stdio.h>int main() {	int year = 2008;	int month = 8;	int day = 8;	int x, sum;	switch (month) {		case 1:			sum = 0;			break;		case 2:			sum = 31;			break;		case 3:			sum = 60;			break;		case 4:			sum = 91;			break;		case 5:			sum = 121;			break;		case 6:			sum = 152;			break;		case 7:			sum = 182;			break;		case 8:			sum = 213;			break;		case 9:			sum = 244;			break;		case 10:			sum = 274;			break;		case 11:			sum = 305;			break;		case 12:			sum = 335;			break;		default:			printf("一年只有12个月哟!!!");			break;	}	sum = sum + day;	if ((year % 4 == 0 && year % 100 != 0 ) || year % 400 == 0) {		x = 1;//该年为闰年,则定义为1,否则为0。	} else {		x = 0;	}	if (x = 0 && month > 2)		sum++;	printf("%d年%d月%d日是该年的第%d天。", year, month, day, sum);	return 0;}


  • Arbitrary5
    2021-03-03 17:45:35

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

    前三个逗号是中文的

  • qq_慕容7497697
    2021-02-15 21:41:29

    好像是你的逗号没用英文状态

  • qq_慕仰8188619
    2021-02-05 15:25:01

    你的最后一句输出的逗号要用英文状态下输入。