一次读入若干个字符串 c++
时间: 2023-08-20 22:17:45 浏览: 105
你可以使用 C++ 中的 getline 函数来一次读入若干个字符串,示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
cout << line << endl;
}
return 0;
}
```
在这个示例代码中,我们使用了 getline 函数来从标准输入流中读取一行字符串,并将其存储在名为 line 的字符串变量中。然后,我们使用 cout 输出该字符串,并在结尾加上一个换行符。在 while 循环中,我们不断地读取新的字符串,直到读到输入流的结尾。
相关问题
C++给你若干个字符串,请编程输出每个字符串的子串个数。 输入 若干个字符串,每个字符串占一行,字符串中不含空格,长度最大为1000。 输出 对应每一行的字符串,输出该字符串子串的个数。
好的,这是一个比较经典的字符串问题,我们可以使用暴力枚举的方法来解决。对于每个字符串,我们可以枚举它的所有子串,计算子串的个数并输出即可。以下是代码实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string s;
while (getline(cin, s)) { // 循环读入每一行字符串
int n = s.size(); // 字符串长度
int ans = 0; // 子串个数
for (int i = 0; i < n; i++) { // 枚举左端点
for (int j = i; j < n; j++) { // 枚举右端点
ans++; // 子串个数加1
}
}
cout << ans << endl; // 输出子串个数
}
return 0;
}
```
这段代码使用了 `getline` 函数循环读入每一行字符串,然后对于每个字符串,使用两层循环枚举左右端点,计算子串的个数并输出即可。需要注意的是,这里的字符串是使用 `string` 类型表示的,可以直接使用 `size` 函数获取字符串长度。
给你若干个字符串,请编程输出每个字符串的子串个数,输入:若干个字符串,每个字符串占一行,字符串中不含空格,长度最大为1000.输出:对应每一行的字符串,输出该字符串子串的个数(采用C++语言)
好的,以下是使用 C++ 实现的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int countSubstrings(string s) {
int n = s.length();
int count = 0;
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
if (s.substr(i, j-i+1) != "") {
count++;
}
}
}
return count;
}
int main() {
string s;
while (cin >> s) {
int count = countSubstrings(s);
cout << count << endl;
}
return 0;
}
```
这个代码中,我们定义了一个 `countSubstrings` 函数,它接受一个字符串作为参数,并返回这个字符串的所有子串的个数。然后,在 `main` 函数中,我们使用 `cin` 读入每一个字符串,调用 `countSubstrings` 函数来计算它的子串个数,并输出结果。
希望这个代码可以帮助你解决问题!
阅读全文