作业比赛编号 : 2994 - 【CSPtch-Jing】循环1 | 找数

C++ 找数速查

一、在固定范围内找数

💡 核心思路:for 循环遍历 x ~ y 之间的每一个数 i,每次判断 i 是不是要找的数。

1.1 遍历示意(x=5,y=20)

在 5~20 之间找出某个特定的数,例如找 13
5
6
7
8
13
⬅ 找到!
20

1.2 模板代码

for (int i = x; i <= y; i++)
{
    if (判断 i 是不是要找的数)
    {
        // i 就是要找的数
    }
}
⚠️ 关键点:for 循环负责遍历if 负责判断,两者搭配完成"逐一查找"的任务。

1.3 常见写法示例

▶ 例 1:找出 5~20 之间所有的偶数

for (int i = 5; i <= 20; i++)
{
    if (i % 2 == 0)
    {
        cout << i << endl;
    }
}

▶ 例 2:找出 5~20 之间第一个能被 3 整除的数

for (int i = 5; i <= 20; i++)
{
    if (i % 3 == 0)
    {
        cout << i << endl;
        break;        // 找到第一个就退出循环
    }
}

▶ 例 3:找出 5~20 之间能被 4 整除且大于 10 的数

for (int i = 5; i <= 20; i++)
{
    if (i % 4 == 0 && i > 10)
    {
        cout << i << endl;
    }
}
◆ ◆ ◆

二、在多个输入的数中找数

💡 场景:先输入一个整数 n 表示要输入的数的个数,然后输入 n 个数,从中找出符合条件的数。

2.1 模板代码

int n, a;
cin >> n;

for (int i = 1; i <= n; i++)
{
    cin >> a;              // 每轮循环输入一个数
    if (判断 a 是不是要找的数)
    {
        // a 就是要找的数
    }
}

2.2 执行步骤

  1. 输入整数 n,表示接下来要输入 n 个数
  2. 进入 for 循环,从 1n 共执行 n
  3. 每次循环:先 cin >> a 输入一个数
  4. if 判断这个 a 是否满足条件
  5. 满足条件则执行相应操作(如输出、计数等)

2.3 常见写法示例

▶ 例 1:从输入的 n 个数中找出所有的正数

int n, a;
cin >> n;
for (int i = 1; i <= n; i++)
{
    cin >> a;
    if (a > 0)
    {
        cout << a << endl;
    }
}

▶ 例 2:从输入的 n 个数中找出等于 100 的数(只输出一次)

int n, a;
cin >> n;
for (int i = 1; i <= n; i++)
{
    cin >> a;
    if (a == 100)
    {
        cout << "找到了!" << endl;
        break;          // 找到就退出
    }
}

▶ 例 3:从输入的 n 个数中找出最大值

int n, a;
cin >> n;

int max = -999999;     // ① 假设一个很小的初始值
for (int i = 1; i <= n; i++)
{
    cin >> a;
    if (a > max)          // ② 当前数比 max 大就更新
    {
        max = a;
    }
}
cout << max;
◆ ◆ ◆

三、两种找数方式对比

① 固定范围内找数

遍历对象:循环变量 i

数据来源:循环生成

for (i = x; i <= y; i++)
{
    if (判断 i ...)
}

② 输入多个数中找数

遍历对象:输入的数 a

数据来源:cin >> a

for (i = 1; i <= n; i++)
{
    cin >> a;
    if (判断 a ...)
}
💡 两种写法的核心区别只有一个:数据从哪里来?
  • 固定范围 → i 本身就是数据,由循环生成
  • 多次输入 → a 是数据,由 cin 读入
剩下的"判断 + 处理"逻辑完全一样!
⚠️ 易错提醒:多次输入时,cin >> a; 必须写在 if 判断之前,否则 a 没有值,无法判断!

比赛尚未开始或私有,不能查看题目。




返回上一页