指定位置插入字符

1.问题描述

编写程序实现以下功能:在字符串中的所有数字字符前加一个$字符,例如,输入A1B23CD45,输出A$1B$2$3CD$4$5

2.问题分析

用串S拷贝出另一个串T,对T从头到尾扫描,对非数字字符原样写入串S,数字字符先写一个$再写数字字符,最后在S串尾加结束标志。

3.程序

#include<iostream>
using namespace std;
void 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];
        }
        else
            s[j++] = t[i];
    s[j] = '\0';//串s结尾结束标志
}
int main()
{
    char s[80];
    cin >> s;//输入字符串
    fun(s);
    cout << s << endl;//输出
}

 

posted @ 2023-05-25 23:07  酥饼馅红豆沙  阅读(24)  评论(0编辑  收藏  举报