代码在前面有元音时不会将大写字母转换为小写字母
Code is not converting uppercase letter to lowercase when preceeded by a vowel
代码强制问题-
当我输入前面有元音的大写字母时,它不会将大写字母转换为小写字母e-g-Input-aBAcAba输出-。公元前
int main()
{
int i;
locale loc;
string a;
cin>>a;
for(i=0;i<a.size();i++)
{
if(isupper(a[i]))
a[i]=tolower(a[i]);
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
{
a.erase(a.begin()+i);
}
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
i--;
}
for(i=0;i<a.size();i++)
cout<<'.'<<a[i];
return 0;
}
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
i--;
这不起作用,因为您已经从a
中删除了元音,因此不会发生递减,并且您跳过下一个字符。
你可能想做
if (condition)
a.erase(...);
else
++i;
并从 for 语句中删除增量。
相关文章:
- 如何在 c++ 中将所有大写字母转换为字符串中的小写字母,反之亦然?
- 大写字母
- 我的程序将 26 个字母转换为 ascII 没有显示正确答案
- 字符数组[]中的小写大写字母C++通过指针
- 将字母转换为数字(A=1;B=2..)C++
- 如何在德语大写字母 Ä, Ö, Ü, ẞ 上正确应用 C++
- 删除 C 字符串中的大写字母
- 如何检查包含 utf8 文本的 std::string 在 Windows 中是否以大写字母开头?
- 电话拨号程序将字母转换为卡片花色而不是数字
- 正则表达式表示非连续大写字母和小写字母
- 如何在 c++ 中将首字母转换为大写?
- C++函数来检查 char 是否是大写字母,并且不计算给定字符串中的大写字母
- 将大写字母(从 cin 读取)更改为小写
- 如何验证小写和大写字母
- 将短字母转换为字符是否合法
- 降低字符串字符,并在转换的大写字母前添加一个_
- 如何将文本从一个文件复制到另一个文件,然后将文本字符串的第一个字母转换为大写
- 代码在前面有元音时不会将大写字母转换为小写字母
- 将字符串中的第一个字母转换为大写字母
- 使用 std::transform 将字符串转换为所有大写字母