C++编程,输入一个仅包含小写英文字母的字符串,请问这个字符串的最后一个元音是什么
时间: 2024-06-13 18:09:01 浏览: 19
以下是C++编程实现,用于确定给定字符串中的最后一个元音字母:
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str); // 读取输入的字符串
char lastVowel = ' '; // 初始化最后一个元音字母为空格
for (int i = str.length() - 1; i >= 0; i--) { // 从字符串末尾开始遍历
char c = tolower(str[i]); // 将字符转换为小写字母
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u') { // 判断是否为元音字母
lastVowel = c; // 更新最后一个元音字母
break; // 找到最后一个元音字母后退出循环
}
}
cout << "The last vowel in the string is: " << lastVowel << endl; // 输出最后一个元音字母
return 0;
}
```
相关问题
C++输入一个仅包含小写英文字母的字符串,请问这个字符串中的最后一元音是什么。
```cpp
#include <iostream>
#include <string>
using namespace std;
bool isVowel(char c) {
return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}
int main() {
string s;
getline(cin, s);
char lastVowel = ' ';
for (int i = s.size() - 1; i >= 0; i--) {
if (isVowel(s[i])) {
lastVowel = s[i];
break;
}
}
cout << lastVowel << endl;
return 0;
}
```
--相关问题--:
1. 如何判断一个字符是否为元音字母?
2. 如何在C++
如何用C++实现用户给定一个动词字符串(仅包含小写字母,长度小于200),请输出其第三人称单数形式。
可以使用以下方法实现:
1. 首先判断动词字符串的最后一个字符是否是元音字母(a, e, i, o, u),如果是,则在其后面加上字母“s”即可。
2. 如果动词字符串的最后一个字符不是元音字母,则判断其倒数第二个字符是否是辅音字母(除了y以外的其他字母),如果是,则删除其最后一个字符,并在其后面加上字母“es”。
3. 如果动词字符串的最后一个字符和倒数第二个字符都不符合上述情况,则直接在其后面加上字母“s”。
下面是示例代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char verb[201];
printf("Please enter a verb (lowercase letters only, length less than 200):\n");
scanf("%s", verb);
int len = strlen(verb);
char last = verb[len - 1];
char second_last = verb[len - 2];
if (last == 'a' || last == 'e' || last == 'i' || last == 'o' || last == 'u') {
printf("%ss\n", verb);
} else if (last == 'y' && !(second_last == 'a' || second_last == 'e' || second_last == 'i' || second_last == 'o' || second_last == 'u')) {
verb[len - 1] = 'i';
printf("%ses\n", verb);
} else {
printf("%ss\n", verb);
}
return 0;
}
```
注意:此代码中仅考虑了英语动词的第三人称单数形式的规则,不适用于其他语言。