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

How can i compare 3 chars by ascii code?

本文关键字:字符 比较 代码 何通过 ascii      更新时间:2023-10-16

我得到了一串字符,我必须按字母顺序消除最大的字符。 规则是我有三个字母 L1,L2,L3。仅当按字母顺序大于 L1 和 L2 时,才会消除 L2,并且只消除第一个 L2,我想在消除字符的地方插入一个空格。

这将是我尝试制作的代码

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

我确信我需要使用一个做...而语法

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

 char *biggest = NULL;
 char cBiggest = 0;
 for(int i=0; i < s.length(); i++)
 {
      if(s[i] > cBiggest)
      {
        cBiggest = s[i];
        biggest = s+i;
      }
 }
 *biggest = ' ';

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

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

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