c++ - 计算每个单词的元音
问题描述
我必须计算给定文本中每个单词的元音。我的尝试:
#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++ 的混合体,但这是我在学校教的。
解决方案
这是我的解决方案:
#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,但这是一种更简单、更易于理解的方法。
推荐阅读
- laravel - 迁移命令错误:Illuminate\Database\QueryException:在 sql server 上找不到驱动程序
- mockito - 模拟连续呼叫的不同响应
- react-native - Apollo setContext 无法从服务器保存令牌
- c# - 如何让 ASP.NET Core DI 获得 Simple Injector 解决的依赖关系?
- python - 我无法在 OpenCV 中打开图像
- typescript - 在 TypeScript 中,如何在调用语句后表示非空条件为真?
- javascript - For 循环仅在数组参数上运行一次
- node.js - 如何完全不响应使用 koa 2 的请求?
- php - 如何在同一个一键调用中插入和更新不同表中的sql数据库
- python - 将for循环函数的每个新输出存储在新变量中