6-1 刪除字元 (20 分) c語言解答附關鍵注意點
阿新 • • 發佈:2018-12-03
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';//最後新增空字元 }