BUG小白BUG 2022-10-10 19:01 采纳率: 88.9%
浏览 56
已结题

if else用法if进行后else还进行了

为什么我if判断完闰年之后。和他对应的else,还是进行了。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a, b, c;
    /*scanf("%d-%d-%d", &a, &b, &c);*/
    a = 2000; b = 12; c = 30;
    if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0))//是闰年
    {
        if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)
        {
            if (c + 5 <= 31)//未超过本月份天数
            {
                c += 5;
            }
            else//超过本月份天数
            {
                b += 1;
                if (b > 12)
                {
                    a += 1;
                    b = 1;
                }
                c = 5 - (31 - c);
            }
        }
        if (b == 2)
        {
            if (c + 5 <= 29)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (29 - c);
            }
        }
        else
        {
            if (c + 5 <= 30)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (30 - c);
            }
        }
    }
    
    else//不是闰年
    {
        if (b==1||b==3||b==5||b==7||b==8||b==10||b==12)
        {
            if (c + 5 <= 31)//未超过本月份天数
            {
                c += 5;
            }
            else//超过本月份天数
            {
                b += 1;
                if (b>12)
                {
                    a += 1;
                    b = 1;
            
                }
                    c = 5 - (31 - c);
            }
        }
        if(b==2)
        {
            if (c + 5 <= 28)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (28 - c);
            }
        }
        else
        {
            if (c + 5 <= 30)//未
            {
                c += 5;
            }
            else//超
            {
                b += 1;
                c = 5 - (30 - c);
            }
        }
    }
    printf("%d年%d月%d日", a, b, c);
    return 0;
}

  • 写回答

3条回答 默认 最新

  • lzl2040 人工智能领域新星创作者 2022-10-10 19:09
    关注

    那个没有运行吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试