You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化实现两数和等于第三数判断及整除统计的C程序?

更简洁的C程序实现方案

这里提供简化原程序的具体实现,同时完全保留原有功能:

优化后的代码

#include <stdio.h>

int main() {
    int x, y, z;
    
    printf("Enter three integers.\n");
    scanf("%d %d %d", &x, &y, &z);
    
    // 合并三个条件为一个逻辑表达式
    if (x + y == z || x + z == y || y + z == x) {
        printf("1, 2, 3, 4, 5, 6, 7, 8, 9");
    } else {
        int count = 0;
        printf("Type in three more integers.\n");
        // 复用原有变量,避免额外声明
        scanf("%d %d %d", &x, &y, &z);
        // 利用布尔值的数值特性直接统计数量
        count = (x % 6 == 0) + (y % 6 == 0) + (z % 6 == 0);
        printf("%d integers are divisible by 6.", count);
    }
    return 0;
}

核心优化点

  • 合并条件判断:将三个互斥的分支条件用逻辑或(||)合并,减少代码重复,逻辑更紧凑。
  • 复用变量:第二个分支无需重新定义新变量,直接复用x,y,z即可,简化变量声明。
  • 简化计数逻辑:利用C语言中布尔表达式结果为0(假)或1(真)的特性,直接将三个判断结果相加得到计数,替代三次独立的if判断。
  • 消除冗余代码:原程序中三次重复的打印语句合并为一次,避免代码冗余。

内容的提问来源于stack exchange,提问作者not_castillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 15:35:26