c 關於刪除空格

2021-08-19 07:27:48 字數 1404 閱讀 4301

實驗題,需要做的函式為

輸入乙個字串,刪除字串中的所有空格,輸出刪除空格後字串的長度,需編寫以下功能函式:

1、編寫函式void input(char *str),函式的功能是輸入乙個字串

。2、編寫函式void trim(char *str),函式的功能是從乙個字串中刪除所有的空格。

3、編寫函式 void length(char *str,int *l),利用指標l返回字串的長度。

主函式為

1、編寫主函式main測試上述函式,**如下:

需要分別實現這些函式。於是輕易寫出input與length2個函式分別為

void input(char *str)

{char *a;

a = str;

// scanf("%s",a);

cout<

cin>>a;

void length(char *str,int *l)

{*l=strlen(str);

/*printf("strlen(str)=%d\n",*l);*/

於是在部落格中找了眾多的刪除空格演算法成功是這個函式:

void trim(char *str)  

{  int len,k,i;  

if (str == null)  

return;  

len = strlen(str);  

k = 0;  

for (i=0; i但是關於基礎的小細節在這邊卡了很多天。

如下執行結果

/*cout字串中不能含有空格,否則將以空格作為串的結束符。

如果你鍵入得是hello world 那麼實際上scanf只能獲取

hello 這個單詞。所以要接收空格的話可以用gets()

這個函式。gets(str)是讀入一串以回車結束的字元,

順序存入到以str為首位址的記憶體單元中,最後寫入字元

串結束標誌 「\0 */

才找對了方向並不是演算法錯誤 而是輸入函式的錯誤、將cin>>a;改為gets(str); 

終於實現功能結果。

刪除多餘空格

本演算法經過了一些測試用例的測試 get the length of the string int mylenth char basestr char pstr basestr int lenth 0 while pstr 0 return lenth sumspace 表示要刪除的空格的總個數,也...

刪除字串空格

寫乙個去除字串左邊空格,右邊空格,字串中如果出現多個空格,則合併成乙個空格的程式。用python和c來解這道題的思路是不一樣的,c的思路基本就是指標的移動,而python有很多現成的東西可以用。def simplify text,space t r n f delete result word fo...

初學shell,關於空格

初學shell條件判斷語句 時,發現總出現錯誤,經過仔細檢視,發現了 前後都有空格的。往回看了看,發現賦值跟比較語句也是有這個空格的區別的,遂在網上搜了搜,看是否哪些命令有空格的區別,摘錄如下 1 定義變數時,號的兩邊不可以留空格 eg gender femal right gender femal...