前言:在C/C++的学习过程当中一定一定要多刷题,牛客网作为国内内容超级丰富的IT题库,尤其是它的C、C++,有从入门到大厂真题,而且大部分的考试题目也是从中抽取,还有很多面经,推荐大家去牛客网进行刷题练习,点击链接:牛客网刷题入口

文章目录

  • 题目
  • 一、裁判测试程序样例:
    • 输入样例
    • 输出样例
  • 二、学习思路与代码实现
    • 1.思路
    • 2.代码实现

题目

本题要求实现一个删除字符串中的指定字符的简单函数。

一、裁判测试程序样例:

#include <stdio.h>
#define MAXN 20void delchar( char *str, char c );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */int main()
{char str[MAXN], c;scanf("%c\n", &c);ReadString(str);delchar(str, c);printf("%s\n", str);return 0;
}/* 你的代码将被嵌在这里 */

输入样例

a
happy new year

输出样例

hppy new yer

二、学习思路与代码实现

1.思路

(1)首先创建一个字符数组和一个字符分别存储字符串和我们所要删除的指定字符。
(2)输入我们要删除的字符和字符串(这里要注意

(3)我们在裁判测试程序样例中可以看到,最后打印的还是str,即源字符串首元素地址,所以我们要在源字符串上完成删除指定字符。

(4)知道指针和数组的关系,str[i]是指下标为i的元素,*str=str[0]

(5)主要用i和j来实现,str[i]表示未删除指定字符的源字符串,str[j]表示删除指定字符后的字符串,注意这里的虽然用了i,j,但是依然是在同一个地址空间完成删除的,str[i]从首元素开始依次判断,如果不是我们要删除字符,就赋给str[j],直到str[i]指向’\0’,最后再把’\0’赋给str[j],作为字符串结束的标志
(6)注意这个函数的返回值为空

2.代码实现

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#define MAXN 20
void delchar(char* str, char c)
{int i=0;//str[i]表示原来的字符串int j=0;//str[j]表示删除指定字符后的字符串while (str[i] != '\0'){//刚开始指针指向原字符串的首元素地址//当指针所指向的字符不是我们要删除的字符串时//才能让str的空间地址,或者说str所指向的字符等于对应的字符if (str[i] != c){str[j++] = str[i];//str[j++]也是一直往后走的}//str[i]依次判断是否为要删除的指定字符,不是就赋给str[j]i++;}//最后一步,将'\0'赋上str[j] = str[i];
}
int main()
{char str[MAXN], c;scanf("%c", &c);//读取缓冲区的'\n'getchar();//之前谈过scanf读入字符串时,遇到空格或'\n'会直接结束//所以字符串的读取最好用gets()gets(str);//删除指定字符的函数delchar(str, c);//str是删除指定字符后的字符串的首元素地址printf("%s\n", str);return 0;
}

【C语言】删除指定字符相关推荐

  1. c语言二维数组的删除,C语言课设1、二维数组的应用2、删除指定字符3、楼盘管.doc...

    课程设计任务书 学院信息科学与工程学院专业电子信息科学与技术 姓名学号 1 题目 二维数组的应用 删除指定字符 楼盘管理程序的设计 2 内容及要求 1 编写函数 求一个二维数组周边元素的最大值和最小值 ...

  2. [YTU]_1998( C语言实验——删除指定字符)

    Description 从键盘输入一个字符串给str和一个字符给c,删除str中的所有字符c并输出删除后的字符串str. Input 第一行是一个字符串: 第二行是一个字符. Output 删除指定字 ...

  3. php file del 方法,php怎么遍历文件删除指定字符

    php遍历文件删除指定字符的实现方法:首先创建一个PHP示例文件:然后通过"function del($getstr){-}"方法删除指定目录下所有指定文件中指定字符串即可. 本文 ...

  4. java 删除指定字符_字符串删除指定位置字符 JAVA 删除字符串中指定的字符

    <死侍2>有多不按套路出牌? 要CSS布局HTML小编今天和大家分享用到函数的调用. 编制函数fun,其功能是:删除一个字符串中指定的一.问题描述:从键盘输入一个字符串给str和一个字符给 ...

  5. JAVA中String字符串删除指定字符的办法

    场景: 有个字符串oldStr,内容为"a,b,c,d,e",想动态删除某个字符,或c或b. 解决办法: 1.转数组 String[] arr = oldStr.split(&qu ...

  6. (WPS)Excel表格中批量删除指定字符

    (WPS)Excel表格中批量删除指定字符 打开excel表格,选中需要删除的指定行或列的数据,键盘选择快捷键ctrl+H, ![比如要删除的字符是 ' ' 鼠标点击"全部替换", ...

  7. JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法

    js字符串截取的方法 方法一: str.slice(开始位置,结束位置) //start 参数字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推,如果是负数表示从尾部截取多少个字符串,s ...

  8. Python 去除字符串中空格(删除指定字符)的3种方法

    文章目录 Python 去除字符串中空格 Python strip()方法 Python lstrip()方法 Python rstrip()方法 Python 去除字符串中空格 用户输入数据时,很有 ...

  9. Python去除字符串中空格(删除指定字符)的3种方法

    用户输入数据时,很有可能会无意中输入多余的空格,或者在一些场景中,字符串前后不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符. 这里的特殊字符,指的是制表符(\t).回车符(\r).换 ...

最新文章

  1. 福布斯:14位技术专家预测,未来哪些行业将被AI颠覆?
  2. centos7安装mysql 依赖检测失败:_gcc-centos7安装mysqlworkbench依赖检测失败
  3. 数据工程师在未来将扮演不可或缺的角色
  4. easyui数据请求两个url_jQuery Easyui datagrid连续发送两次请求问题
  5. 软件构造学习笔记-第六周
  6. Python面向对象介绍
  7. Theano 中文文档 0.9 - 7.2.6 Theano如何处理形状信息
  8. 新建的ORACLE实例要开启监听,创建ORACLE实例与设置监听器过程
  9. Uva 12063 Zero and Ones
  10. wifi 协议栈的历史的总结
  11. VS2010闪退的问题
  12. 北风的年终总结2021
  13. android 文件传输 无法复制,Win10坑死安卓!MTP连接大BUG:无法复制、丢文件
  14. 加权有限状态转录机(Weighted Finite-State Transducer/WFST)
  15. 基于BM1684移植YOLOV7
  16. 2.机器学习基础(一)
  17. netflow generator: 开源工具nfgen的源码研读和修改(上)
  18. MBA面试系列之----中文面试宝典(四)
  19. 爱尔兰考克大学计算机排名,你想知道的爱尔兰大学排名
  20. html链接到另一个网址,怎么设置超级链接跳到另一个网站

热门文章

  1. 神州信息联合中科大国金院成立“数字智能决策联合实验室”
  2. 华为麦芒7android能删吗,华为麦芒7性能怎么样 华为麦芒7值得买吗
  3. Http的Header里面包含哪些字段,http和https 的区别
  4. 【Java】Java强制类型转换——int转byte(面试题)
  5. 达达php源码,达达在线客服 v2.0.5
  6. 达达后台架构演化之路
  7. WPS Office 2020 Mac专业办公套件
  8. Pytest框架之fixture详解
  9. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目
  10. 计算机多显器设置方法,你的电脑要在多个显示器显示,该怎么设置?我来教你操作方法!...