博客 / 詳情

返回

c語言經典題目:在字符串的指定位置插入字符

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

思路:
觀察規律可發現插入的字母只會在排在數字前面,不會影響字母。

因此完整代碼如下

#include <stdio.h>
int fun(char* s)
{
    char t[80];
    int i, j;
    for (i = 0; s[i]; i++)  /*將串s拷貝至串t*/
        t[i] = s[i];
        t[i] = '\0';
    for (i = 0, j = 0; t[i]; i++)
        /*對於數字字符先寫一個$符號,再寫該數字字符*/
        if (t[i] >= '0' && t[i] <= '9')
        {
            s[j++] = '$';
            s[j++] = t[i];
        }
    /*對於非數字字符原樣寫入串s*/
        else
            s[j++] = t[i];
    s[j] = '\0';  /*在串s結尾加結束標誌*/
    return 0;
}
int main()
{
    char s[80];
    printf("Enter a string:");
    scanf("%s", s);  /*輸入字符串*/
    fun(s);
    printf("The result: %s\n", s);  /*輸出結果*/
    return 0;
}
user avatar tashuo 頭像 xiaodaigua_ray 頭像 wangying_5ea4fb9de961c 頭像
3 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.