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

哪里出错了?大神帮帮忙~

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

 return 0;
}

提问者:火空 2015-12-11 09:07

个回答

  • RockenRoll
    2015-12-11 09:19:21
    已采纳

    if((year%4==0&&year%100!=0||year%400=0)&&month>2)  
    ||后面的year % 400 == 0 少个 =号,还有你的printf语句中的","号是中文字符,改成英文的

    (year%4==0&&year%100!=0)这里要加个括号&&不能和直接连用

    还有你的sum变量在声明的时候初始化一下int sum = 0;


  • Jason333
    2015-12-11 09:13:02

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

    这里 year % 400 == 0 少个 = , 不是赋值呀