C++ C++;While循环检查最新输入int
我需要一个程序,检查输入的数字与最新的输入,如果它是真的-显示有多少数字输入(与最新的2相同); 例如: 输入:3524433535 产出:11C++ C++;While循环检查最新输入int,c++,C++,我需要一个程序,检查输入的数字与最新的输入,如果它是真的-显示有多少数字输入(与最新的2相同); 例如: 输入:3524433535 产出:11 #include <iostream> using namespace std; int main() { int nr, am, last; cin >> nr; last = nr; am = 1; while (nr != last){ cin >>
#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;
}
#包括
使用名称空间std;
int main()
{
国际号码,上午,最后;
cin>>天然橡胶;
last=nr;
am=1;
while(nr!=最后一次){
cin>>天然橡胶;
last=nr;
am=am+1;
}
cout在while-guard last!=nr中从来都不是真的,因为您首先从cin读取,然后最后更新。这两条语句应该切换,最后也用(例如)-1初始化,所以while循环是第一次进入的
最后初始化:
last = -1;
在此期间:
last = nr;
cin >> nr;
您永远不会进入while循环,因为您正在测试前将nr
分配给last
:
last = nr;
// ...
while (nr != last){
// ...
}
while
条件在进入循环之前被评估。如果输入的第一个数字是最后一个初始化的数字(例如-1),它将停止并显示仅输入了一个数字。这是正确的。为了避免这种情况,您应该在最后检查while条件。因此使用do{…}while(nr!=last);
改为循环。在这种情况下,上次如何初始化并不重要。