首页 > 解决方案 > 计算每个单词的元音

问题描述

我必须计算给定文本中每个单词的元音。我的尝试:

#include <iostream>
#include <string.h>

using namespace std;

char s[255], *p, x[50][30];
int c;

int main()
{
    cin.get(s, 255);
    cin.get();
    p = strtok(s, "?.,;");
    int n = 0;
    while (p)
    {
        n++;
        strcpy(x[n], p);
        p = strtok(NULL, "?.,;");
    }
    for (int i = 1; i <= n; i++)
    {
        c = 0;
        for (int j = 0; j < strlen(x[i]); j++)
            if (strchr("aeiouAEIOU", x[i][j]))
                c++;
        cout << c << " ";
    }
    return 0;
}

PS:我知道我的代码是 C 和 C++ 的混合体,但这是我在学校教的。

标签: c++

解决方案


这是我的解决方案:

#include <iostream>
#include <string.h>
using namespace std;

int main()
{
    char s[255];
    int n,i,counter=0;
    cin.get(s,255);
    for(i=0; i<=strlen(s)-1; i++)

        if(s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u') counter++;

     cout<<counter;
    return 0;
}

如果你有一个元音(a、e、i、o 或 u),你就是在计数器上加起来。您也可以使用 strchr,但这是一种更简单、更易于理解的方法。


推荐阅读