【c语言】【典例】将字符串中指定字符删除

简介: 【c语言】【典例】将字符串中指定字符删除

题目分析:



1.在字符串中遍历,找到目标字符后,用后一个字符将它替代,并且后面每一个字符都向前移动一个位置,这样循环一次就删掉了字符串中第一个目标字符


如目标字符 s(想要删除的字符)a s d f h g k s r y


循环一次后    ,变为        a d f g k s r y


再循环一次    , 变为      a d f g k r y  


完成


2.循环次数即字符串中目标字符的个数(用循环计数器来统计目标字符个数)


代码实现:



#include <stdio.h>
#include <string.h>
void fun(char str[], int ch)
{
  int len = strlen(str);
  int i = 0;
  int j = 0;
  int tmp = 0;
  int count = 0;
  for (i = 0; i < len; i++)
  {
    if (str[i] == ch)
    {
      count++;
    }
  }
  for (j = 0; j < count; j++)
  {
    for (i = 0; i < len; i++)
    {
      if (str[i] == ch)
      {
        tmp = str[i];
        str[i] = str[i + 1];
        str[i + 1] = tmp;
      }
    }
  }
}
int main()
{
  static char str[] = "turboccandborlandc++";
  char ch = 0;
  printf("原始字符串:%s\n",str);
  printf("输入一个字符:");
  scanf("%c",&ch);
  fun(str, ch);
  printf("变化后的字符串:%s\n",str);
  return 0;
}


运行结果:


937dcc1eceb1436280d7eab903a2e339.png


目录
相关文章
|
10天前
|
NoSQL 程序员 Redis
C语言字符串的设计缺陷
C语言字符串的设计缺陷
21 1
|
4天前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
19 5
|
4天前
|
C语言
c语言左旋字符串问题(不同方法超详细解答)
c语言左旋字符串问题(不同方法超详细解答)
7 1
|
5天前
|
C语言
【C语言】:字符分类与转换函数
【C语言】:字符分类与转换函数
8 1
|
14天前
|
编译器 C语言 C++
【C语言基础】:字符函数和字符串函数-2
【C语言基础】:字符函数和字符串函数
|
14天前
|
C语言
【C语言基础】:字符函数和字符串函数-1
【C语言基础】:字符函数和字符串函数
|
23天前
|
C语言
C语言学习记录——鹏哥字符分类函数、字符转换函数
C语言学习记录——鹏哥字符分类函数、字符转换函数
14 2
|
23天前
|
安全 编译器 C语言
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
C语言学习记录——字符串相关函数及部分模拟(strcmp、strncmp、strncat、strncpy、strstr、strtok、strerror)
15 1
|
2天前
|
安全 C语言 开发者
C语言中的字符串
C语言中的字符串
5 0
|
7天前
|
C语言
C语言----字符函数和字符串函数(4)
C语言----字符函数和字符串函数