如何用while循环输入未知数目的数

如何用while循环输入未知数目的数,且可以按回车来进行下一步

可以循环获取整数,然后再循环中计算负数的个数,并在循环中检测是否输入了回车, 如果输入了回车则退出循环打印结果。

代码如下:

参考链接:


C++利用cin输入时检测回车的方法_c++ cin 回车_建森要健身的博客-CSDN博客 今天做TJU的OJ ,其中一道题是先读入一个字符串,再读入一个整数,循环往复,直到字符串是空,也就是说回车键结束循环。但是cin对空格和回车都不敏感,都不影响继续读入数据,所以需要一种新的方式检测回车。方法一:利用getchar()函数//**************************将输入的单词逆序输出*************************//#include ..._c++ cin 回车 https://blog.csdn.net/m0_37536854/article/details/82795533


#include <iostream>
using namespace std;

int main(void){
    
    int number;  // 临时存储每个输入的数 
    int nums=0;   // 负数的个数 
    
    // https://blog.csdn.net/weixin_45589272/article/details/114934356
    while(cin>>number){  // 循环获取整数,直到输入EOF结束 
        
        if (number<0){  // 如果为负数,则负数计算器nums++ 
            nums++;
        }
        
        // https://blog.csdn.net/weixin_45589272/article/details/114934356
        // 如果输入了换行,则退出循环 
        if(getchar()=='\n'){
            break;
        } 
        
    }
    
    // 打印负数的个数 
    cout<<"负数的个数为:"<<nums<<endl;
    
    return 0;
} 

img

是这样吗


#include <iostream>
using namespace std;

int main() {
  double num;
  while (cin >> num) {
    cout << "输入的数是: " << num << endl;
    cin.ignore(); // 忽略掉本次输入的换行符
  }

  return 0;
}

输入时,数字间用空格隔开

        vector<int> s;
        int token;
        string line;
            getline(cin >> ws, line);
            std::stringstream tokens(line);
            string token_str;
            while (std::getline(tokens, token_str, ' ')) {
                token = atoi(token_str.c_str());
                s.push_back((token));
            }
            cout << "输入为:" << endl;
            for (auto it = s.begin(); it != s.end(); ++it) {
              std::cout << *it << std::endl;
            }

您好,您这个问题以前鄙人也遇到过,头疼啊!!!
但是现在解决了。这个我们要用到我们的一些特殊的操作符了:
您没有说问题的背景,鄙人就暂且理解为“输入若干数(没有明确结束条件)”:
windows的有一个结束输入的操作符,叫 Ctrl + Z,在输入完数字后,输入一个Ctrl + Z,就可以停止输入。
多说无益,代码演示吧:

int n=0;
int a[10001];
while(cin>>a[n]) n++;
n--;//因为多加了一个

最后,数组输进去了,n 也算出来了。
希望鄙人的回答能够帮助到您

问题描述清楚点

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

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