我需要一个程序,用最新输入检查输入数字,如果是真的 - 显示输入了多少数字(最新2个相同); 例如:
输入:3 5 24 4 3 5 3 5 3 5 5
输出:11
#include <iostream>
using namespace std;
int main()
{
int nr, am, last;
cin >> nr;
last = nr;
am = 1;
while (nr != last){
cin >> nr;
last = nr;
am = am + 1;
}
cout << am;
return 0;
}
我稍后会重写代码来处理文件,我只需要先让它工作。此外,我不想得到完成的代码,我想知道我的错误,或者我正在朝着正确的方向前进。感谢。
答案 0 :(得分:2)
在守卫最后!= nr永远不会是真的,因为你首先从cin读取然后最后更新。应该切换这两个语句,也用(例如)-1初始化,所以第一次输入while循环。
初始化最后:
last = -1;
在你的时间:
last = nr;
cin >> nr;
答案 1 :(得分:1)
您永远不会输入您的while循环,因为您在考试前将nr
分配给last
:
last = nr;
// ...
while (nr != last){
// ...
}
while
条件在>>进入循环之前进行评估。