C語言如何在字元串的指定位置插入字元!
問題描述
請編寫程序,實現以下功能:在字元串中的所有數字字元前加一個$字元。例如,輸入 A1B23CD45,輸出 A$1B$2$3CD$4$5。
問題分析
在字元串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語言小程序——令人頭疼的年齡問題!
TAG:C加加 |
※獲取一個字元串值在指定字元串第n次出現的位置
※代碼分析:翻轉字元串里的單詞
※C語言字元串相關函數實現
※技術分享:反轉字元串中的單詞
※js 截取字元串
※做一次面向對象的體操:將 JSON 字元串轉換為嵌套對象的一種方法
※XSD 字元串 數據類型
※如何找到字元串中的最長迴文子串?
※Python語言中字元串的拆分,連接及拼接(下篇)
※HTML字元實體與轉義字元串、使用CDATA區批量轉譯
※提取json字元串的內容(框架)
※Python語言中字元串的拆分,連接及拼接
※SQL-字元串函數
※PS4疑似出現字元串BUG:接收特定消息後導致系統崩潰
※盤點:PHP常用的HTML標籤相關的字元串格式化函數,你知道幾個?
※字元串加密處理
※String(字元串):一切方法都在掌握之中
※正則表達式的功法大全,做NLP再也不怕搞不定字元串了
※SQL Servere 通過LIKE在另一個字元串中查找字元串
※迴文,返回字元串中最長的迴文串