1. 程式人生 > 其它 >功能:編寫函式void fun(char *str,char ch)從字串str中刪除指定的字元ch。

功能:編寫函式void fun(char *str,char ch)從字串str中刪除指定的字元ch。

技術標籤:c語言

功能:編寫函式void fun(char *str,char ch)從字串str中刪除指定的字元ch。
要求:本問題要求用兩種演算法分別實現,一是直接刪除演算法即查詢符合刪除條件的並逐次前移實現;二是間接刪除演算法即查詢不符合刪除條件的並保留下來,而保留的方法可以採用利用本陣列和引入臨時陣列兩種實現。

void delete(char s[],char ch)   //直接刪除法
{
 int i=0,j=0;
 while(s[i]!='\0')
 {
  if(s[i]==ch)  //定位待刪字元
  {
   j=i;
   while(s[j+1]!='\0')
   { 
    s[
j]=s[j+1]; j++; } s[j]='\0'; i--; } i++; } } int main() { char str[80]; char ch; gets(str); scanf("%c",&ch); delete(str,ch); printf("%s\n",str); return 0; } void delete(char s[],char ch) //間接刪除法 { int i,k=0; for(i=0;s[i]!='\0'
;i++) { if(s[i]!=ch) s[k++]=s[i]; } s[k]='\0'; } int main() { char str[80]; char ch; gets(str); scanf("%c",&ch); delete(str,ch); printf("%s\n",str); return 0; }

在這裡插入圖片描述