繁体   English   中英

循环仅执行一次C ++

[英]Loop only executes once C++

我正在尝试编写一个程序,该程序读取10个整数,然后使用for循环查找并打印偶数和奇数整数的和。

我看到For循环的以前的帖子执行了一次,但它们没有帮助我。 谢谢你的帮助。

这是我的代码,

#include <iostream>
using namespace std;
int main()
{
    int integer;
    int even = 0;
    int odd = 0;
    int intcount = 0;

    cout << "enter numbers" << endl;
    cin >> integer;


    for(; intcount <= 10; intcount++)
    {

        if((integer % 2) == 0)
        {
            even = even + integer;
        }
        else if((integer % 2) != 0)
        {
            odd = odd + integer;
        }
    }
    cout << "Even sum: " << even << endl;
    cout << "Odd sum: " << odd << endl;


    return 0;
}
cout<<"enter numbers"<<endl;

for(; intcount < 10; intcount++) // '< 10', not '<= 10' as you start with 0
{
    cin>>integer; // <-- you should read numbers inside the loop

    if(integer % 2 == 0 )
    {
        even += integer; // += is the same as 'even = even + integer'
    }
    else // no 'else if' needed, 'else' is enough
    {
        odd += integer;
    }
}
cout<< "Even sum: " << even<< endl;
cout<< "Odd sum: " << odd<< endl;

最好使用带有退出条件的while循环并更改如下代码:

while(1) 
{
    cout<<"Enter 0 to exit"<<endl;
    cin>>integer; // <-- you should read numbers inside the loop
    if( integer == 0 )
       break;
    else if(integer % 2 == 0 )
    {
        even += integer; // += is the same as 'even = even + integer'
    }
    else
    {
       odd += integer;
    }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM