哪里错了吗

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

慕桂英4517430

2019-12-03 19:42

#include <stdio.h>

int main()

{

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

    int year = 2008;

    int month = 8;

    int day = 8;

   int sum,flat;

 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;

    default:printf("一年只有12个月哦");break;

  }

  sum=sum+day;

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

     flat=1;

     else

    flat=0;

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

     sum++;

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

     return 0;

}


写回答 关注

2回答

  • 慕尼黑2341328
    2020-01-14 20:09:29

    我挺想知道的为啥你们的case1都是0

    慕桂英006...

    第一个月直接记天数

    2020-02-25 16:47:19

    共 1 条回复 >

  • Starshine_
    2019-12-03 20:37:26
    1.   if(year%400==0||(year%100!=0&&year&4==0))中的“&”改成“%”

    2.  printf("%d年%d月%d日是该年第%d天",year,month,day,sum);改成 printf("%d年%d月%d日是该年第%d天",year,month,day,sum);

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题