c語言如何刪除一串字串中指定的字串

2022-03-01 17:05:41 字數 6116 閱讀 4504

1樓:資依霜宜淼

#include

#include

intmain()elseprintf("要刪除字字串未找到!\n");return0;}

c語言刪除字串中指定字元

2樓:加百列

一、問題描述:從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。

1、輸入:第一行是一個字串; 第二行是一個字元。

2、輸出:刪除指定字元後的字串。

二、設計思路:

1、 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。

2、用gets函式輸入陣列a的值,並利用for迴圈將陣列a copy到 陣列b。

3、利用for迴圈,令pos位的陣列b元素賦值到a。

三、實現**如下:

四、編譯並執行,執行結果如下:

3樓:搜虎哈哈

利用c語言刪除字串中所有指定的字元方法如下:

1.基本方法是,編寫函式fun:deletechar()。

這個函式需要接受兩個引數的傳入,一個為該字串str,另一個為想刪除的字元c。通過對整個字串的逐個遍歷,凡是檢測到字元為c,則刪除此字元。具體實現**如下:

2.在主函式,只需要接受使用者輸入的字串,然後呼叫deletechar()函式,最後輸出結果即可。主函式**實現部分如下:

4樓:蝴蝶蘭

void delchar(char *str, char del)++str;

}*d = '\0';

}c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

5樓:匿名使用者

/*** 替換str字串中第 ind 個字串 rep,返回結果* @param str 需要處理的字串* @param ind 替換第幾個

* @param rep 替換字串

* @return

*/public string replacebyindex(string str, int ind, string rep)else

}return result;

}//測試方法

int ind = 1;//去掉第ind個string rep = "a";//去掉什麼字串string str = "abcabcabcabc";

string result = replacebyindex(str, ind, rep);

6樓:吉祥二進位制

#include

int main()

7樓:匿名使用者

#include

void del_chr( char *s, char ch )*t='\0'; //置目標串結束符。

}void main()

8樓:匿名使用者

char * fun(char * s)

main函式直接呼叫這個函式就可以了。

9樓:匿名使用者

#include"stdio.h"#include"string.h"voidmain()printf("\n");}

10樓:明槐宸

直接使用空字串替換就可以了

string b = "abcabcabc";

b=b.replace("b","");

這個應該是比較簡單的了,別的比如取出來你想要刪掉的字元的位置,然後去除

11樓:匿名使用者

public class test7

public static string deleteassignchar(string str, int on, char c)}}

return str;}}

第一個引數是要刪除字元的字串,第二個引數字元所在字串中的第幾個,第三個引數要刪除的字元.希望對你有幫助

12樓:受災

這個容易,就是把指定位置的字元去掉,也就是說後面的字元覆蓋比如刪除指定的字元在字串中第一個出現的位置void strdel( char* str, char ch )if( *p )}}

希望能解決您的問題。

13樓:巴代秋

你只是把字元c用\0代替了,並不是刪除。

以你的**為基礎,可以改成如下:

void delchar(char *s,char c)}

14樓:大_匆

#include

int main()

return 0;

}void delete(char *s, char l, int n)

*(s+n--)='\0';}}}

15樓:

想了一個比較簡單的方法,程式也簡單,要多看,多想想為什麼,認真把課本的例題消化了,就發現很簡單的啦!少年,要加油哦!!!

#include

void main()

16樓:

他那樣是對的

當i!=n時會執行裡面的語句

當i==n時會跳過裡面的語句進行下一次迴圈!

因為陣列最好是連續存放好一點!!

所以中間有字元刪除後面的就要移位上來!!

它的問題在於沒有b[i]=a[j]應該是b[j]=a[i],可以去試試

不知道這樣說樓主明白沒?

17樓:匿名使用者

#include

int main

char * fun(char * s);

18樓:匿名使用者

題主的註釋是正確的。

首先,p q都指向s指向的陣列。你可以完全把p q當成s一樣的東西,只不過*q *p是可以變化的。

p作為迴圈判斷,只要p不空就繼續迴圈。p不為要刪除的字元,就將p目前指向的字元賦值到q。

如:s: 12345

del_x: 3

首先,q[0] = p[0] = 1; q++;其實是s[0] = s[0]

然後q[1] = 2; q++;s[1] = s[1],其實在遇到要刪除的字元前賦值並沒有意義,只需要q++就行

q[2] = 4,從這裡開始,因為已經刪除了3,所以q必須開始變化,所以需要使用q[2] = p[3],就是s[2] = s[3]

最後迴圈結束的q:12455,而*p = '\0',所以把q最後一位賦值成\0。

19樓:匿名使用者

string s = "abcabcabc";//你的串s=s.replace("", "-"); //每個字元加個-string b=s.split("-");//擷取字串為陣列string n="";//新的字元傳

int f=0;//b的迴圈變數

int y=0;//c的迴圈變數

for(int i = 0;i

}system.out.println(n);

在c語言中如何刪除字串中的某一個特定的字元

20樓:匿名使用者

找到要刪除的字元後,見此字元之後的字元全部前移一位,也就實現了刪除這個字元的目的

然後再從下一個字元開始尋找要刪除的字元,如此反覆直至結束,就實現了將字串中所有的ch字元刪除

21樓:水裡風

if裡面的內容可以理解為

當str中沒有ch時,i和j始終同步後移,最後整個str沒變。

當str中遇到ch時,不執行if,因為i始終都在自加,這樣j就留在原地i後移,下一個迴圈的時候,如果i對應元素不是ch,則str[j]==str[i],複製以後j再後移,亦即將j對應的ch刪除了;如果i對應的仍然是ch,則j仍留在原地i自加,直到下一次遇到非ch或者str結束。

最後j所在的位置即為str中刪除全部的ch後的字串末尾

如何刪除字串中指定位置字元

22樓:育知同創教育

直接使用空字串替換就可以了

string b = "abcabcabc";

b=b.replace("b","");

這個應該是比較簡單的了,別的比如取出來你想要刪掉的字元的位置,然後去除

23樓:

"string".split("").splice(index,n).join("")

c語言「在字串中刪除指定的字元」?怎麼編寫程式

24樓:賊寇在何方

這個容易,就是把指定位置的字元去掉,也就是說後面的字元覆蓋比如刪除指定的字元在字串中第一個出現的位置void strdel( char* str, char ch )if( *p )}}

25樓:匿名使用者

如果刪除一個字元,那就簡單了。

#include

void main()

}我沒在電腦上除錯。不對的話告訴我,到時我再改。這電腦上沒vc。

26樓:迎墨丫丫

#include

void main()

a[j]='\0';

puts(a);}

c語言-刪除字串中指定的字元

27樓:兔丞飛

一、問題描述:從鍵盤輸入一個字串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字串str。

1、輸入:第一行是一個字串; 第二行是一個字元。

2、輸出:刪除指定字元後的字串。

二、設計思路:

1、 同插入問題,定義兩個字元陣列a,b。以及標誌刪除位置的int型pos。

2、用gets函式輸入陣列a的值,並利用for迴圈將陣列a copy到 陣列b。

3、利用for迴圈,令pos位的陣列b元素賦值到a。

三、實現**如下:

四、編譯並執行,執行結果如下:

擴充套件資料

gets()函式用來從標準輸入裝置(鍵盤)讀取字串直到換行符結束,但換行符會被丟棄,然後在末尾新增'\0'字元。其呼叫格式為:gets(s),其中s為字串變數(字串陣列名或字串指標)。

gets()函式讀取到\n(我們輸入的回車)於是停止讀取,但是它不會把\n包含到字串裡面去。然而,和它配合使用的puts函式,卻在輸出字串的時候自動換行。

gets(s) 函式中的變數s為一字串指標。如果為單個字元指標,編譯連線不會有錯誤,但執行後記憶體溢位錯誤。寬字元版本,當使用unicode寬字元文字時,使用這個函式 _getws();在c11標準中被刪除,可用c標準庫中的fgets代替.

28樓:搜虎哈哈

利用c語言刪除字串中所有指定的字元方法如下:

1.基本方法是,編寫函式fun:deletechar()。

這個函式需要接受兩個引數的傳入,一個為該字串str,另一個為想刪除的字元c。通過對整個字串的逐個遍歷,凡是檢測到字元為c,則刪除此字元。具體實現**如下:

2.在主函式,只需要接受使用者輸入的字串,然後呼叫deletechar()函式,最後輸出結果即可。主函式**實現部分如下:

29樓:蝴蝶蘭

void delchar(char *str, char del)++str;

}*d = '\0';

}c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

30樓:吉祥二進位制

#include

int main()

31樓:晴涵陀子

學習c語言當然就得讓他實現對應的作用,實現它的功能。那麼刪除字串中的指定字元在字串太多的情況下不可能人為的去刪除吧。那麼現在就給大家說一下怎麼用c語言設計程式讓它刪除字串中的指定字元。

C語言字串問題,C語言中,字串是什麼?

這迴圈需要執行4次,對應的字元就是0001,也就是說這個sc需要5個空間,加一個 0 for i 0 i 2.你這個程式每次執行的結果可能是不確定的,因為你沒有初始化sc陣列,printf以字串的形式輸出,他是遇到 0 字元才結束的,所以為了保證程式的結果是一致的,建議初始化陣列。sc 5 這樣就可...

C字串中刪除輸入的字母,如何在c 的字串中刪除某個字串

include include void main void delete string char str,char ch str j 0 這個地方也錯了,j 0,相當於把首字元用空格覆蓋 錯了delete string str 這裡是兩個引數 陣列,被刪除的字母 delete string str...

C語言字串輸出亂碼,C語言,字串輸出是亂碼

輸出來亂碼是必須的,因為你的數源據型別搞錯了bai,你使用的是字元 du函式zhistringcopy 來拷貝字元 那麼要處理的數dao據當是char型別,然而你所定義的指標應當也是char型別 你應當修改的地方是 int str1,str2 請將int改為char 將你程式中的所有int替換為ch...