无味33 2021-10-14 09:46 采纳率: 63.3%
浏览 19
已结题

通过具体日期来求出总天数,代码运行没有错误,但运行显示结果有错误。


#include <stdio.h>
int main()
{
    int year,month,day,sum=0;
    printf("请输入你的年 月 日:\n");
    scanf("%d%d%d",&year,&month,&day); 
    switch(month)
    {
        case2:sum=31;break;
        case3:sum=28+31;break;
        case4:sum=28+31+30;break;
        case5:sum=28+31+30+30;break;
        case6:sum=28+31+30+30+31;break;
        case7:sum=28+31+30+30+31+30;break;
        case8:sum=28+31+30+30+31+30+31;break;
        case9:sum=28+31+30+30+31+30+31+31;break;
        case10:sum=28+31+30+30+31+30+31+31+30;break;
        case11:sum=28+31+30+30+31+30+31+31+30+31;break;
        case12:sum=28+31+30+30+31+30+31+31+30+31+31;break;
    }
        sum=sum+day;
        if(year%400==0||(year%4==0&&year%100!=0))
        {
            if(month>2){
            sum++;
            }
        }
        printf("%d\n",sum);
    return 0;
    
}

代码运行没有错误,但运行出来结果有错。

  • 写回答

1条回答 默认 最新

  • 神仙别闹 2021-10-14 09:48
    关注

    case2 case中间是不是少了一个空格?

    img

    #include <stdio.h>
    int main()
    {
        int year, month, day, sum = 0;
        printf("请输入你的年 月 日:\n");
        scanf("%d%d%d", &year, &month, &day);
        switch (month)
        {
        case 2:sum = 31; break;
        case 3:sum = 28 + 31; break;
        case 4:sum = 28 + 31 + 30; break;
        case 5:sum = 28 + 31 + 30 + 30; break;
        case 6:sum = 28 + 31 + 30 + 30 + 31; break;
        case 7:sum = 28 + 31 + 30 + 30 + 31 + 30; break;
        case 8:sum = 28 + 31 + 30 + 30 + 31 + 30 + 31; break;
        case 9:sum = 28 + 31 + 30 + 30 + 31 + 30 + 31 + 31; break;
        case 10:sum = 28 + 31 + 30 + 30 + 31 + 30 + 31 + 31 + 30; break;
        case 11:sum = 28 + 31 + 30 + 30 + 31 + 30 + 31 + 31 + 30 + 31; break;
        case 12:sum = 28 + 31 + 30 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 31; break;
        }
        sum = sum + day;
        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        {
            if (month > 2) {
                sum++;
            }
        }
        printf("%d\n", sum);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥15 clion的参数提示怎么关闭
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀
  • ¥15 mifare plus卡认证