1. 程式人生 > >習題8-6 刪除字元

習題8-6 刪除字元

習題8-6刪除字元

PTA地址:https://pta.patest.cn/pta/test/12/exam/3/question/339

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

函式介面定義:

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 )
{
	char* ret = str;
	if( str != NULL ){
		char* p = str;
		while( *str ){
			if( *str != c ){
				*p = *str;
				p++;
			}
			str++;
		}
		*p = *str;
	}
	return ret;
}