1. 程式人生 > >習題8-6 刪除字元 (20 point(s)

習題8-6 刪除字元 (20 point(s)

本題要求實現一個刪除字串中的指定字元的簡單函式。

函式介面定義:

void delchar( char *str, char c );

其中char *str是傳入的字串,c是待刪除的字元。函式delchar的功能是將字串str中出現的所有c字元刪除。

裁判測試程式樣例:

#include <stdio.h>
#define MAXN 20

void 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
void delchar( char *str, char c){
  int  i,j;
  i=0;j=0;
  while(str[i]!='\0'){
    if(str[i]!=c){
      str[j]=str[i];
      j++;
    }
    i++;
    
  }
  str[j]='\0';
}