当我输入一个由元音开头的大写字母时,它不会将大写字母转换为小写 E-G-输入 - aBAcAba 输出.B.c.b
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;
}
答案 0 :(得分:2)
this.state
这不起作用,因为你已经从onInputChange(e) {
this.setState({ input: e.target.value }, () => {
console.log(`state: ${this.state}, value: ${e.target.value}`); // this is my checking
});
}
删除了元音,所以减少不会发生,你跳过下一个字符。
您可能想要做
if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u')
i--;
并从for语句中删除增量。