题目描述 给你若干个字符串,请编程输出每个字符串的子串个数。 输入 若干个字符串,每个字符串占一行,字符串中不含空格,长度最大为1000。 输出 对应每一行的字符串,输出该字符串子串的个数。请使用c++写一段代码
时间: 2024-03-21 09:39:49 浏览: 17
好的,下面是一个 C++ 代码示例:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 计算一个字符串的子串个数
int count_substrings(string s) {
int n = s.length();
int count = 0;
// 枚举所有子串的起点和终点
for (int i = 0; i < n; i++) {
for (int j = i+1; j <= n; j++) {
// 对于每个子串,都累加计数器
count++;
}
}
return count;
}
int main() {
string s;
// 读入多个字符串,每次读入一行
while (getline(cin, s)) {
// 调用 count_substrings 函数并输出结果
cout << count_substrings(s) << endl;
}
return 0;
}
```
这个代码中,我们定义了一个函数 `count_substrings`,用于计算一个字符串的子串个数。在主程序中,我们用一个无限循环来不断读入输入,直到遇到文件结束符 EOF。对于每个读入的字符串,我们调用 `count_substrings` 函数来计算子串个数,并输出结果。注意,在 C++ 中读入一行字符串需要使用 `getline(cin, s)`,其中 `s` 是一个字符串变量。