我应该编写一个程序,从用户那里读取一系列数字,并在第一个和第一个时输出。最后一次输入数字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;
}
编辑&amp;运行
答案 0 :(得分:2)
像这样:
#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或从文件中读取时)程序结束。