用c++解答
时间: 2023-07-01 11:24:54 浏览: 108
好的,下面是 C++ 的代码实现:
```cpp
#include <iostream>
#include <fstream>
#include <regex>
using namespace std;
int main() {
// 打开 zuoye21.txt 文件
ifstream fin("zuoye21.txt");
// 读取文件内容
string content((istreambuf_iterator<char>(fin)), istreambuf_iterator<char>());
// 关闭文件
fin.close();
// 统计单词数
regex word_regex("\\b\\w+\\b");
int word_count = distance(sregex_iterator(content.begin(), content.end(), word_regex), sregex_iterator());
// 统计标点符号数
regex punctuation_regex("[,.!?;:()]");
int punctuation_count = distance(sregex_iterator(content.begin(), content.end(), punctuation_regex), sregex_iterator());
// 统计段落数
int paragraph_count = 1;
for (char c : content) {
if (c == '\n') {
paragraph_count++;
}
}
// 输出统计结果
cout << "单词数:" << word_count << endl;
cout << "标点符号数:" << punctuation_count << endl;
cout << "段落数:" << paragraph_count << endl;
return 0;
}
```
这个程序使用了 C++11 的正则表达式库来进行单词和标点符号的统计。它也使用了 C++ 的文件输入流来读取 zuoye21.txt 文件内容。运行以上代码,即可输出 zuoye21.txt 文件中单词数、标点符号数和段落数的统计结果。
阅读全文