for循环解决输入的问题

int i,sum;
for (;i!=-999;)
{cin>>i;
sum+=i;}
cout<<"sum="<system("pause");

输入-999的时候就停止加和
但是这样写电脑提示i没有被初始化

在这个修复后的代码中,我们使用while (true)循环,当输入为-999时,使用break语句跳出循环。同时,我们对变量i进行了初始化。这样,当输入为-999时,程序会停止加和并输出结果。

#include <iostream>
using namespace std;

int main() {
    int i = 0, sum = 0;
    while (true) {
        cin >> i;
        if (i == -999) {
            break;
        }
        sum += i;
    }
    cout << "sum=" << sum << endl;
    system("pause");
    return 0;
}

你先给它赋个初值0呀

int i = 0,sum = 0while(1)
{cin>>i;
if(i == 999) break;
sum+=i}
cout<<"sum="<<sum;
system("pause");

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你这是先加,再判断是否等于-999,而且第一次循环时,i还没有初始化。如下修改:

#include <iostream>
using namespace std;
int main(void)
{  
    int i,sum=0;
    for(;cin>>i,i!=-999;)
        sum+=i;
    cout<<"sum="<<sum;
    system("pause");
    return 0;
}