- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须编写一个函数来打印给定字符串行中的所有元音字母,包括 Y,除非 Y 后跟另一个元音字母。
例如:
"test phrase" returns 3
"yes no why not?" returns 4
我试过使用 getline(),但我不确定是否有一种方法可以在不需要用户输入某种类型的情况下使用它。我需要它来使用已声明的字符串。
这是我的代码,它在某种程度上有效,但需要输入。
#include <iostream>
#include <string>
using namespace std;
int numVowelsIncludingY(string line){
int v = 0;
getline(cin, line);
for(int i = 0; i < line.length(); ++i){
if(line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U' || line[i] == 'Y' ||
line[i] == 'a' || line[i] == 'e' || line[i] == 'i' || line[i] == 'o' || line[i] == 'u' || line[i] == 'y'){
++v;
}
}
return v;
}
更新
我已经删除了 getline 并且读取字符串工作正常,但我仍然对如何仅在 Y 后面没有跟另一个元音的情况下将其计为元音感到困惑。
#include <iostream>
#include <string>
using namespace std;
int numVowelsIncludingY(string line){
int v = 0;
for(int i = 0; i < line.length(); ++i){
if(line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U' || line[i] == 'Y' ||
line[i] == 'a' || line[i] == 'e' || line[i] == 'i' || line[i] == 'o' || line[i] == 'u' || line[i] == 'y'){
++v;
}
}
return v;
}
最佳答案
因为我没有正确理解您的问题,所以我删除了上一个答案。但现在这是应该按预期工作的代码。是的,您不应该使用 using namespace std
,这被认为是一种不好的做法。看这里:Why is "using namespace std;" considered bad practice?
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
int numVowelsIncludingY(std::string line) {
int v = 0;
std::vector<char> vovels{'a', 'e', 'i', 'o', 'u', 'y'};
for (size_t i = 0; i < line.length(); ++i) {
char ch = tolower(line[i]);
if (ch == 'y' && find(vovels.begin(), vovels.end(), tolower(line[i + 1])) !=
vovels.end()) {
} else if (find(vovels.begin(), vovels.end(), ch) != vovels.end()) {
++v;
}
}
return v;
}
int main(void) {
std::cout << numVowelsIncludingY("yy");
return 0;
}
关于c++ - 包括 "Y"在内的元音个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67217754/
我试图在 haskell 上创建一个函数,我知道该函数的定义如下: justWithA : [Char] -> Bool justWithA [] = True justWithA (x:xs) |
我试图在 haskell 上创建一个函数,我知道该函数的定义如下: justWithA : [Char] -> Bool justWithA [] = True justWithA (x:xs) |
我正在尝试计算字符串中元音的总数。我正在使用 strlen 来获取字符串的总长度,但是当我尝试按每个字母对字符串进行计数时,它说 C++ 禁止比较。所以我假设我的 if 语句有问题。 #include
Task You are given a string . It consists of alphanumeric characters, spaces and symbols(+,-). Your
我刚刚开始用 C 语言编程,我必须创建一个程序来计算字符串有多少个元音。到目前为止我有这个: int a; int len = strlen(text)-1 for(a=0;a==len;++a){
尝试学习 Python 中的正则表达式以查找具有连续元音-辅音或辅音-元音组合的单词。我将如何在正则表达式中执行此操作?如果无法在 Regex 中完成,是否有一种在 Python 中执行此操作的有效方
我想输入 dagger-alif、dagger-waw 和 dagger-ya(也称为微型 alif、微型哇和微型 ya)作为 alif-wasla 使用 PC 阿拉伯语键盘。这些标记被使用帮助读者发
我正在尝试创建一个将文件上传到 FTP 服务器的批处理文件。除了一个特定文件夹的名称中包含突变/元音外,一切正常(无法更改。也就是文件夹名称中包含 ö。)。 我的问题是:有哪些选择可以实现这一目标?
我是一名优秀的程序员,十分优秀!