當前位置:
首頁 > 知識 > C語言如何在字元串的指定位置插入字元!

C語言如何在字元串的指定位置插入字元!


問題描述


請編寫程序,實現以下功能:在字元串中的所有數字字元前加一個$字元。例如,輸入 A1B23CD45,輸出 A$1B$2$3CD$4$5。



C語言如何在字元串的指定位置插入字元!



問題分析

在字元串S的所有數字字元前加一個$字元,可以有兩種實現方法。


方法一:用串S拷貝出另一個串T,對串T從頭至尾掃描,對非數字字元原樣寫入串S,對於數字字元先寫一個$符號再寫該數字字元,最後,在S串尾加結束標誌。使用此方法是犧牲空間,贏得時間。


方法二:對串S從頭至尾掃描,當遇到數字字元時,從該字元至串尾的所有字元右移一位,在該數字字元的原位置上寫入一個$。使用此方法是節省了空間,但浪費了時間。


本題採用方法一,下面是完整的代碼:


#include


int fun(char *s)


{


char t[80];


int i, j;


for(i=0; s[i]; i++) /*將串s拷貝至串t*/

t[i]=s[i];


t[i]="";


for(i=0,j=0; t[i]; i++)


/*對於數字字元先寫一個$符號,再寫該數字字元*/


if(t[i]>="0" && t[i]


{


s[j++]="$";


s[j++]=t[i];


}


/*對於非數字字元原樣寫入串s*/

else


s[j++]=t[i];


s[j]=""; /*在串s結尾加結束標誌*/


return 0;


}


int main()


{


char s[80];


printf ( "Enter a string:" );


scanf ("%s", s); /*輸入字元串*/

fun(s);


printf ("The result: %s
", s); /*輸出結果*/


return 0;


}


運行結果:


Enter a string:A1B23CD45


The result: A$1B$2$3CD$4$5


想要一起學習C++的可以加裙六二六八七一九一六,裙內有各種資料滿足大家,歡迎加裙

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

C語言如何刪除字元串前後星號?
C語言小程序——令人頭疼的年齡問題!

TAG:C加加 |

您可能感興趣

獲取一個字元串值在指定字元串第n次出現的位置
代碼分析:翻轉字元串里的單詞
C語言字元串相關函數實現
技術分享:反轉字元串中的單詞
js 截取字元串
做一次面向對象的體操:將 JSON 字元串轉換為嵌套對象的一種方法
XSD 字元串 數據類型
如何找到字元串中的最長迴文子串?
Python語言中字元串的拆分,連接及拼接(下篇)
HTML字元實體與轉義字元串、使用CDATA區批量轉譯
提取json字元串的內容(框架)
Python語言中字元串的拆分,連接及拼接
SQL-字元串函數
PS4疑似出現字元串BUG:接收特定消息後導致系統崩潰
盤點:PHP常用的HTML標籤相關的字元串格式化函數,你知道幾個?
字元串加密處理
String(字元串):一切方法都在掌握之中
正則表達式的功法大全,做NLP再也不怕搞不定字元串了
SQL Servere 通過LIKE在另一個字元串中查找字元串
迴文,返回字元串中最長的迴文串