我已经尝试过使用此网站上的其他帖子,但没有奏效。我希望你能帮助我。问题是擦除给定字符串中的所有元音,然后将其转换为小写字母,最后在每个辅音前插入'.'
字符。最后一个是给我麻烦的那个。将字符插入到字符串中
#include <iostream>
#include <cstdio>
#include <ctype.h>
#include <string>
using namespace std;
string cad1;
char vowels[] = {
'A', 'O', 'Y', 'E', 'U', 'I', 'a', 'o', 'y', 'e', 'u', 'i'
};
int size = sizeof(vowels)/sizeof(vowels[0]);
string ToLowerCase(string text)
{
for (int i = 0; i < text.length(); i++)
{
char c = text[i];
if ((c >= 65) && (c <= 90))
{
text[i] |= 0x20;
}
}
return text;
}
int main()
{
cin >> cad1;
for (int i = 0; cad1[i] != '\0'; i++)
{
for (int j = 0; j < size; j++)
{
if (cad1[i] == vowels[j])
{
cad1.erase(cad1.begin() + i);
}
}
for (int j = 0; cad1[j] != '\0'; j++)
{
cad1[j] = tolower(cad1[j]);
}
cad1 += ".";
/* for (int k = 0; cad1[k] != '\0'; k++) {
if (k % 2 == 0) {
cad1.insert(k, 1, '.');
}
} */
}
cout << cad1 << endl;
cin.get();
}
你为什么不使用'的std :: string'?我看到你收录了它。 – 735Tesla
关于你的辅音问题 - 如果角色不是元音,它是辅音,对吗?这应该有助于你找到那些。 – Nabren
对不起,我的第一个答案,我误解了你的问题。我会稍微改变一下,然后再发布一次。 – 735Tesla