1.3闰年

方法一`

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n%4==0)
    {
        if(n%100!=0)
            printf("%d is a leap year\n",n);
        else if(n%400==0)
            printf("%d is a leap year\n",n);
    }
    else printf("%d is not a leap year\n",n);
    return 0;
}

方法二

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if((n%4==0)&&(n%100!=0)||n%400==0)
        printf("%d is a leap year\n",n);
    else printf("%d is not a leap year\n",n);
    return 0;
}

自动输出1900~2100年间的闰年

#include<stdio.h>
int main()
{
    int n;
    for(n=1900;n<=2100;n++)
    {
        if((n%4==0)&&(n%100!=0)||n%400==0)
        printf("%d is a leap year\n",n);
    }
    return 0;
}

# 题目重述 用户希望为第1.3题中定义的**逻辑变量判断**(如闰年、点是否在区间、三角形判断、点是否在三角形内)寻找**更简单的实现方法**,以提高可读性和降低逻辑复杂度。 --- # 详解 原题要求定义四个逻辑变量: - **L1**:年份是否闰年 - **L2**:点是否不在两个区间内 - **L3**:三边是否构成等腰但不等边三角形 - **L4**:点是否在特定三角形内部 ## ✅ 更简单的实现方法(简化逻辑、使用清晰表达式) ```matlab % 测试值 y = 2024; % 测试年份 x = 5; % 测试点位置 a = 1; b = 3; % 第一个区间 c = 4; d = 6; % 第二个区间 a_side = 3; b_side = 3; c_side = 4; % 三角形边长 px = 1.1; py = 0.4; % 点坐标 % L1: 是否闰年(简化判断逻辑) L1 = (mod(y, 4) == 0 && mod(y, 100) ~= 0) || mod(y, 400) == 0; % L2: 点 x 是否不在两个区间内 L2 = x < a || x > b && x < c || x > d; % L3: 是否为等腰但不等边三角形 L3 = (a_side == b_side || a_side == c_side || b_side == c_side) && ... (a_side + b_side > c_side && a_side + c_side > b_side && b_side + c_side > a_side) && ... ~(a_side == b_side && b_side == c_side); % L4:(px, py) 是否在三角形 A(0,0), B(2,0), C(1,1) 内部 L4 = py > 0 && py < px && py < 2 - px; % 输出结果 disp([&#39;L1(闰年): &#39;, num2str(L1)]); disp([&#39;L2(不在区间): &#39;, num2str(L2)]); disp([&#39;L3(等腰非等边): &#39;, num2str(L3)]); disp([&#39;L4(在三角形内): &#39;, num2str(L4)]); ``` --- ## 🧠 说明:为什么这更简单? | 原始方式 | 简化方式 | 改进点 | |----------|------------|--------| | 多层嵌套逻辑表达式 | 拆判断条件为清晰结构 | 更易理解、调试 | | 使用 `~(A || B)` 形式 | 使用 `x < a || x > b` 直接判断不在区间内 | 更直观 | | 三角形判断冗长 | 为三步:等腰、三角不等式、非等边 | 步清晰,便于扩展 | | 几何判断复杂 | 使用边界不等式 `y < x` 和 `y < 2 - x` 判断内部点 | 避免面积法或线性规划,简单直观 | --- # 知识点(列出该代码中遇到的知识点) 1. **布尔表达式简化**:通过合理使用逻辑运算符(`&&`, `||`, `~`)将复杂判断拆解为更直观的结构。 2. **几何判断简化**:利用边界不等式快速判断是否在三角形内部,避免复杂几何计算。 3. **三角形判断逻辑**:等腰三角形需满足三角形不等式、两边相等且三边不全相等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值