我如何通过ascii代码比较3个字符?

时间:2016-02-02 15:10:50

标签: c++ char

我有一串字符,我必须按字母顺序删除最大的字符。规则是我有三个字母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语法

1 个答案:

答案 0 :(得分:0)

如何用这个替换你的循环:

w[i].b

这使用指针来跟踪找到的最大ASCII值。最大的ASCII值将按字母顺序排列为最大的字符。它使用第二个变量cBiggest来跟踪到目前为止遇到的最大字符。

在遍历整个字符串之后,然后使用指针将该字符设置为空格。

请注意我根本没有测试过此代码。您可能需要调整它。