#include <iostream>
using namespace std;
int main(){
int odd=0, even=0, value;
cout<<"Enter Numbers\n";
cout<<"Enter 0 to End\n";
do{
cin>>value;
if (value % 2==0)
even++;
else
odd++;
}
while (value !=0);
cout<<"The number of odd numbers is: "<<odd<<endl;
cout<<"The number of even numbers is: "<<even;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有些事情是错的,我需要帮助,当我结束程序时,偶数总是+1.
Jea*_*bre 22
问题是,当你输入0结束循环时,它会在退出循环之前将其计为偶数...
只要输入0就会中断,并使用无限循环
for (;;)
{
cin>>value;
if (!value) break; // stop now
if (value % 2==0)
even++;
else
odd++;
}
Run Code Online (Sandbox Code Playgroud)
如注释中所述,另一种方法是使用条件while循环,如果输入失败则将其短路并将值测试为零.在这种情况下,您不需要在循环中测试零:
while ((cin >> value) && value) { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |