【MAC上でC++】Day 50-3.実験8-2-3文字削除(20点)

1122 ワード

実験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<:streamsize>::max(),'
'); // cin.get(s, MAXN, '
'); 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; }