我的任务是:::: 删除所有元音, 插入一个字符"。"在每个辅音之后。
所以我制作的程序总是插入"。"在开始......... 帮助我
#include <iostream>
#include <string>
using namespace std;
bool isVowel(char ch);
int main()
{
string orwr;
int j = 0;
getline(cin, orwr);
for (j=0; j<6; j++)
{
if(isVowel(orwr[j])==1)
{orwr.erase(j, 1);j--;}
else
{orwr.insert(j, 1, '.');j++;}
}
cout<<orwr;
return 0;
}
bool isVowel(char ch)
{
switch(ch)
{case 'a':
case 'A':
case 'e':
case 'E':
case 'i':
case 'I':
case 'o':
case 'O':
case 'u':
case 'U':
return true;
default:
return false;}}
答案 0 :(得分:2)
你的循环应该是:
for (j=0; j<orwr.length(); j++)
而不是:
for (j=0; j<6; j++)
答案 1 :(得分:1)
此外,我会反转循环,所以你不必调整任何indizes:
for(int j = orwr.length()-1; j >= 0; --j) {
if(isVowel(orwr[j]))
orwr.erase(j, 1);
else
orwr.insert(j, 1, '.');
}