1. 程式人生 > >6-1 刪除字元 (20 分) c語言解答附關鍵注意點

6-1 刪除字元 (20 分) c語言解答附關鍵注意點

6-1 刪除字元 (20 分)

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

函式介面定義:

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);//這裡的/n很關鍵不能刪除
ReadString(str);
//這個函式相當於gets(str);
delchar(str, c);
printf("%s\n", str);

return 0;

}

/* 你的程式碼將被嵌在這裡 */
輸入樣例:

a
happy new year
輸出樣例:

hppy new yer

	void delchar( char *str, char c ){
	char* p=str;
	char* q=str;
	while(*p!='\0'){
	////通過p經歷每個字元,如果不是c字元則放入q中 
		if(*p!=c){
			*q++=*p;//結束後q向後移動一位用於儲存下一個符合條件的字元
		}
	} *q='\0';//最後新增空字元 
}