如何在数组中查找特定值的第一次和最后一次出现

How to find first and last occurrences of a particular value in an array?

本文关键字:第一次 最后一次 数组 查找      更新时间:2023-10-16

我应该编写一个程序,从用户那里读取一系列数字,并在第一个&最后一次输入数字12。我可以让程序在最后一次输入12时输出,但我不知道如何找出第一次输入12的时间。任何帮助都将不胜感激。

这是我目前掌握的代码。

#include <iostream>
using namespace std;
int main()
{
int counter = 1, first, last, number, num;
cout << "How many numbers will you enter: ";
cin >> number;
While (counter <= number)(
cout << "Number: ";
cin >> num;
if (num == 12)
{
last = counter;
}
Counter++;
)
return 0;
}

编辑&运行

像这样:

#include <iostream>
int main()
{
    int first = -1, last = -1;
    for (int n, i = 0; std::cin >> n; ++i)
    {
        if (n != 12) { continue; }
        if (first == -1) { first = i; }
        last = i;
    }
    if (first != -1)
    {
        std::cout << "First time: " << first << ", last time: " << last << "n";
    }
    else
    {
        std::cout << "No '12' was entered.n";
    }
}

当标准输入处于EOF状态时(例如,当您在终端上按Ctrl-D或从文件中读取时),程序结束。