我有一串字符,我必须按字母顺序删除最大的字符。规则是我有三个字母L1,L2,L3.L2只有在按字母顺序大于L1和L2时才被删除,只有第一个L2被删除,我想插入一个空格,消除字符。< / p>
这是我试图制作的代码
cin.get(s,100);
n=strlen(s);
while(i<=n)
{
if(((int)s[i]<(int)s[i-1]) && ((int)s[i]<(int)s[i+1]))
strcpy(s+i,s+i+1);
i++;
}
输入cadgfacbda
输出cad facbda
我很确定我需要使用do ... while语法
答案 0 :(得分:0)
如何用这个替换你的循环:
w[i].b
这使用指针来跟踪找到的最大ASCII值。最大的ASCII值将按字母顺序排列为最大的字符。它使用第二个变量cBiggest来跟踪到目前为止遇到的最大字符。
在遍历整个字符串之后,然后使用指针将该字符设置为空格。
请注意我根本没有测试过此代码。您可能需要调整它。