如何用while循环输入未知数目的数,且可以按回车来进行下一步
可以循环获取整数,然后再循环中计算负数的个数,并在循环中检测是否输入了回车, 如果输入了回车则退出循环打印结果。
代码如下:
参考链接:
#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;
}
是这样吗
#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 也算出来了。
希望鄙人的回答能够帮助到您
问题描述清楚点
不知道你这个问题是否已经解决, 如果还没有解决的话: