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

C语言如何按数组原有顺序输出其中的偶数且不打乱元素顺序?

问题原因

你当前代码的问题有两点:

  • 循环变量名和数组名重名,你已经定义了int nums[100]数组,后续循环又定义了同名的int nums变量,直接覆盖了数组的引用
  • 没有遍历数组元素,现有循环逻辑是直接输出2到100之间的所有偶数,和你预先定义的nums数组没有任何关联

修改后的代码

#include<stdio.h>

int main(void) {
  
    int nums[100] = {
        2, 3, 5, 100, 7, 3, 5, 3, 1, 4,
        76, 77, 78, 79, 80, 54, 68, 61, 34, 33,
        44, 49, 100, 5, 2, 87, 34, 33, 2, 1,
        4, 5, 8, 2, 1, 8, 5, 3, 2, 1,
        88, 22, 23, 33, 48, 44, 46, 48, 50, 52,
        45, 47, 49, 51, 53, 1, 1, 1, 1, 1,
        1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
        20, 19, 18, 17, 16, 15, 14, 13, 12, 11,
        11, 22, 33, 44, 55, 66, 77, 88, 99, 100,
        1000, 2001, 3000, 4001, 5000, 6001, 7000, 8001, 9000, 10001
    };
    // 按顺序遍历数组全部100个元素,索引从0到99
    for(int i=0; i<100; i++)
    {
        // 校验当前数组元素是否为偶数
        if(nums[i]%2==0){
            printf("%d - I love Coding\n", nums[i]);
        }
    }
    return 0;
}

逻辑说明

  • 循环变量改用i作为数组索引,从0开始到99结束,完整覆盖nums数组的所有元素
  • 判断条件改为对数组当前位置的元素nums[i]做奇偶校验,符合要求就直接打印,完全保留数组原有元素顺序

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:27:02