C++ <统计单词数及单个字母出现次数>

来源:互联网 发布:win10用的c语言编译器 编辑:程序博客网 时间:2024/04/29 10:47

运行结果:

 Enter a string: For example, the input 4 words 1 a 3 e 1 f 1 h 1 i 1 l 1 m 1 n 1 o 2 p 1 r 2 t 1 u 1 x

countWords.cpp

#include <iostream>#include <string>#include <cstring>using namespace std;int computeWords(const string& str);void countOccurs(const string& str, int a[]);void show(const string& str, const int a[], int LEN);int main() {    const int LETTER = 26;    int a[LETTER] = {0};    string str;    cout << "Enter a string: ";    getline(cin, str);    int words = computeWords(str);    countOccurs(str, a);    cout << words << " words\n";    show(str, a, LETTER);    return 0;}int computeWords(const string& str) {    int count = 0;    for (int i = 0; i < str.length(); i++) {        if (isalpha(str[i]) && (! isalpha(str[i +1])))            count++;    }    return count;}void countOccurs(const string& str, int a[]) {    for (int i = 0; i < str.length(); i++) {        if (isupper(str[i]))            a[str[i] - 'A']++;        else if (islower(str[i]))            a[str[i] - 'a']++;    }}void show(const string& str, const int a[], int LEN) {    char letters = 'a';    for (int i = 0; i < LEN; i++) {        if (a[i] != 0)            cout << a[i] << ' ' << letters << "\n";        letters++;    }}
0 0
原创粉丝点击