【MAC 上学习 C++】Day 50-3. 实验8-2-3 删除字符 (20 分)

实验8-2-3 删除字符 (20 分)

1. 题目摘自

https://pintia.cn/problem-sets/13/problems/553

2. 题目内容

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

函数接口定义:

void delchar( char *str, char c );
其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。

输入样例:

a
happy new year

输出样例:

hppy new yer

3. 源码参考
#include 

using namespace std;

#define MAXN 20

void delchar( char *str, char c );
void ReadString( char s[] ); 

int main()
{
    char str[MAXN], c;

    cin >> c;
    ReadString(str);
    delchar(str, c);
    cout << str << endl;

    return 0;
}

void ReadString( char s[] )
{
  cin.ignore(numeric_limits::max(),'\n'); //清除缓冲区的当前行
  cin.get(s, MAXN, '\n');
  return;
}

void delchar( char *str, char c )
{
  int i, n, k;
  char a[MAXN];

  strcpy(a, str);
  strcpy(str,"");

  n = strlen(a);
  k = 0;
  for(i = 0; i < n; i++)
  {
    if(a[i] != c)
    {
      str[k++] = a[i];
    }
  }
  
  str[k] = '\0';

  return;
}

你可能感兴趣的:(【MAC 上学习 C++】Day 50-3. 实验8-2-3 删除字符 (20 分))