cin如何实现连续输入? 怎么输入字符串?
时间: 2023-11-02 20:49:14 浏览: 234
C++中可以使用`while(cin>>x)`来实现连续输入,其中x为需要输入的变量名。这样可以在输入完一个变量后,继续输入下一个变量,直到输入结束。
如果需要输入字符串,可以使用C++中的`getline(cin, str)`函数来实现。其中str为需要输入的字符串变量名。`getline()`函数会读取一行字符串,直到遇到换行符为止。
相关问题
C++输入为连续多行的多个字符串
你可以使用while循环和getline()函数来读取连续多行的多个字符串。具体代码如下:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
cout << line << endl;
}
return 0;
}
```
这段代码通过getline()函数来读取每一行输入,并将其存储在字符串变量line中,然后输出到屏幕上。while循环会一直执行,直到输入结束(例如按下Ctrl+D或Ctrl+Z)。
用C++代码实现 输入一个字符串,求该字符串中最长连续数字序列出现的起始位置及其长度
以下是用 C++ 实现输入一个字符串,求该字符串中最长连续数字序列出现的起始位置及其长度的代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin, s); // 输入字符串
int start = -1; // 最长连续数字序列的起始位置
int len = 0; // 最长连续数字序列的长度
int curStart = -1; // 当前连续数字序列的起始位置
int curLen = 0; // 当前连续数字序列的长度
for (int i = 0; i < s.length(); i++) {
if (isdigit(s[i])) { // 如果当前字符是数字
if (curStart == -1) { // 如果当前没有连续数字序列
curStart = i; // 更新当前连续数字序列的起始位置
}
curLen++; // 更新当前连续数字序列的长度
} else { // 如果当前字符不是数字
if (curLen > len) { // 如果当前连续数字序列比最长连续数字序列更长
start = curStart; // 更新最长连续数字序列的起始位置
len = curLen; // 更新最长连续数字序列的长度
}
curStart = -1; // 重置当前连续数字序列的起始位置
curLen = 0; // 重置当前连续数字序列的长度
}
}
if (curLen > len) { // 如果最后一个连续数字序列比最长连续数字序列更长
start = curStart; // 更新最长连续数字序列的起始位置
len = curLen; // 更新最长连续数字序列的长度
}
if (start == -1) { // 如果没有连续数字序列
cout << "No consecutive digit sequence found." << endl;
} else { // 如果有连续数字序列
cout << "The longest consecutive digit sequence starts at position " << start << " and has length " << len << "." << endl;
}
return 0;
}
```
输入一个字符串后,程序会输出形如 "The longest consecutive digit sequence starts at position x and has length y." 或者 "No consecutive digit sequence found." 的信息,其中 x 和 y 分别为最长连续数字序列的起始位置和长度。