ghblk 2023-05-07 23:14 采纳率: 85.7%
浏览 30
已结题

关于#函数返回字符串#的问题,如何解决?

编写一个函数,利用指针在字符串s中的指定位置pos处(这里插入的位置是从1开始,不是下标)插入字符串。插入的位置和内容是从键盘输入

要求:子函数 char *InsertStr(char *s,int pos,char *t)

【输入形式】

输入主串s,输入插入的子串t,输入插入位置pos。
【输出形式】

输出插入后字符串
【样例输入】

输入:

abcde

KOBE

2

【样例输出】

aKOBEbcde
这个题目怎么写?

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-05-07 23:34
    关注
    #include <iostream>
    #include <cstring>
    using namespace std;
     
    char* InsertStr(char* s, int pos, char* t) {
        int len = strlen(s) + strlen(t);
        char *tmp = new char[len + 1]; // 分配内存
        int i;
        for (i = 0; i < pos - 1; i++) { // 复制插入位置前的主串
            tmp[i] = s[i];
        }
        for (int j = 0; j < strlen(t); j++, i++) { // 复制子串
            tmp[i] = t[j];
        }
        for (int j = pos - 1; j < strlen(s); j++, i++) { // 复制插入位置后的主串
            tmp[i] = s[j];
        }
        tmp[len] = '\0';
        s = tmp; // s指向新空间
        return s;
    }
     
    int main() {
        char s[50];
        char t[50];
        int pos;
        cin >> s >> t >> pos;
        char * p = InsertStr(s, pos, t); // 插入子串
        cout << p << endl; // 输出结果
        return 0;
    }
    

    在线验证通过

    img

    https://www.bejson.com/runcode/cpp920/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月15日
  • 已采纳回答 5月7日
  • 创建了问题 5月7日

悬赏问题

  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列
  • ¥15 SENT协议中相关问题咨询
  • ¥15 URL地址href跳转问题
  • ¥15 mysql数据库备份恢复
  • ¥15 mmdetection mask-rcnn
  • ¥25 matlab可以将微分方程的解显示为相图形式吗