注册 登录
编程论坛 C++教室

编写程序,要求用户输入一组数。输出信息说明其中有多少个负数。(c++)帮忙挑下逻辑错误, 为什么不对?

yt9085253 发布于 2018-04-10 18:15, 1176 次点击
#include <iostream>
using namespace std;
int main()
{
    cout << "输入一些数" << endl;
    int v1,v2=0;
    while (cin >> v1);
        if (v1 < 0)
        {
            ++v2;
        }
        
    cout << "你一共输入了" << v2 << "个负数" << endl;
        return 0;
}
只有本站会员才能查看附件,请 登录
2 回复
#2
yt90852532018-04-10 18:15
在网上找了许多资料 但是运行后还是有问题  新人求解答
#3
Jonny02012018-04-10 19:45
while后面有个分号

学下去之后, 你会了解这种题目最好的解决方案就是采用 STL 的流迭代器
程序代码:
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {
    istream_iterator<int> it(cin);
    istream_iterator<int> end;
    int count = 0;
    while(it != end) {
        if(*it++ < 0) {
            ++count;
        }
    }
    cout << "总共输入了 " << count << " 个负数" << endl;
}


[此贴子已经被作者于2018-4-10 20:02编辑过]

1