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

哪里错了?

#include <stdio.h>

int main() 

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

    int year = 2008;

    int month = 8;

    int day = 8;

    int sum,flag;

    switch(month)

    {

        case 1:0;break;

        case 2:31;break;

        case 3:59;break;

        case 4:90;break;

        case 5:120;break;

        case 6:151;break;

        case 7:181;break;

        case 8:212;break;

        case 9:243;break;

        case 10:273;break;

        case 11:304;break;

        case 12:334;break;

        default:printf("一年有十二个月");break;

        

    }

    sum=sum+day;

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

    flag =1;

    else 

    flag =0;

    if(flag==1&&month>2)

    sum++;

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

    

    return 0;

}

    

    


正在回答

1 回答

#include <stdio.h>


int main(void){
int y, m, d, t;
printf("请输入年月日:\n");
scanf("%d,%d,%d",&y,&m,&d);
if(y%4==0&&y%100!=0||y%400==0){   //判断是否是闰年 
      switch(m){
        case 1:t=d;break;              //第一个月的天数就是“今天是几号” 
        case 2:t=31+d;break;              //第二个月的天数:第一个月加这个月的几日 
        case 3:t=31+29+d;break;              //以此类推 
        case 4:t=31+29+31+d;break;
        case 5:t=31+29+31+30+d;break;
        case 6:t=31+29+31+30+31+d;break;
        case 7:t=31+29+31+30+31+30+d;break;
        case 8:t=31+29+31+30+31+30+31+d;break;
        case 9:t=31+29+31+30+31+30+31+31+d;break;
        case 10:t=31+29+31+30+31+30+31+31+30+d;break;
        case 11:t=31+29+31+30+31+30+31+31+30+31+d;break;
        case 12:t=31+29+31+30+31+30+31+31+30+31+30+d;break;
        default:
        printf("%d年%d月%d日是不存在的\n",y,m,d);
                }
        }
    else {                      //不是闰年执行此语句 
     switch(m){
        case 1:t=d;break;
case 2:t=31+d;break;
case 3:t=31+28+d;break;
case 4:t=31+28+31+d;break;
case 5:t=31+28+31+30+d;break;
case 6:t=31+28+31+30+31+d;break;
case 7:t=31+28+31+30+31+30+d;break;
case 8:t=31+28+31+30+31+30+31+d;break;
case 9:t=31+28+31+30+31+30+31+31+d;break;
case 10:t=31+28+31+30+31+30+31+31+30+d;break;
case 11:t=31+28+31+30+31+30+31+31+30+31+d;break;
case 12:t=31+28+31+30+31+30+31+31+30+31+30+d;break;
default:
printf("%d年%d月%d日是不存在的\n");
 
    }
         }
        printf("%d年%d月%d日是这一年的第%d天\n",y,m,d,t);
        system("pause");
        return 0;
}


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

举报

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

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

进入课程

哪里错了?

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