从键盘输入的字符串中查找是否含有单词"is"(大小写不区分),有则将其删除,输出结果字符串。

在这里插入图片描述

#include <stdio.h>
int main()
{
    char s[1000];
    int i,j;
    scanf("%s",s);//读入字符串(不需要&)
    for(i = j = 0; s[i]; i ++)//条件时s[i],即会遍历完整个字符串s
    {
        //对if嵌套有时会比(&&逻辑与)更加灵活(特别是条件表达式太长时)
        // if(s[i] == 'i' || s[i] == 'I')
        // {
        //     if(s[i+1] == 's' || s[i+1] == 'S')
        //         i++;
            
        // }这么写的话单个字符i将会进入if(而不会进入else,i就不会被写入s[j]当中)
        if(s[i] == 'i' || s[i] == 'I')
        {
            if(s[i+1] == 's' || s[i+1] == 'S')
            {
                i++;
            }   
            else
            {
                s[j++] = s[i];
                //仍然要把单独地i存入s[j]数组(单独的s字母字符呢?放心,它再第一if的判断中就过不了,会写进s[j])
            }
            
        }
        else s[j++] = s[i];//把需要保留地字符都装到s里面.
    }
    s[j] = 0;//本行是遍历完s且将最后一个需要保留地字符(我们成为合法字符)更新到s里头后,
                //立刻屏蔽掉之后地内容(is),如果没有该行,结果:合法字符串之后原样输出旧字符地后部分
     
    printf("%s\n",s);
    return 0;
}
```本文参考了:
https://zhidao.baidu.com/question/1642307638236477660.html
posted @ 2024-08-27 01:45  xuchaoxin1375  阅读(20)  评论(0)    收藏  举报  来源