vc++相关程序问题

vc++相关程序问题以及其输入字符串相关问题……谢谢了……代码……

img

(1)

img

#include <iostream>
using namespace std;

void insert(char* s, char c)
{
    char* t = s;
    while (*t)
        t++;
    *t = c;
    t++;
    *t = 0;
}

int main()
{
    char buf[100];
    cout << "请输入字符串:";
    cin >> buf;
    cout << "在" << buf << "最后插入字符s后:" << endl;
    insert(buf, 's');
    
    cout << buf << endl;
    return 0;
}

(2)

img

代码:

#include <iostream>
#include <string>
using namespace std;

void insert(char* s, char* s2,int m,int n)
{
    int i, j;
    int len1 = strlen(s);
    int len2 = strlen(s2);
    if (n > len2)
        n = len2;
    //先将s的第m+1个字符后移n位
    for (i = len1 - 1; i >= m - 1; i--)
        s[i + n] = s[i];

    //将s2中的n个字符插入到s中
    for (i = 0; i < n; i++)
        s[m + i] = s2[i];

    s[len1 + n] = 0;//结尾
}

int main()
{
    char buf[100],buf2[100];
    int m, n;
    cout << "请输入字符串1:";
    cin >> buf;
    cout << "请输入字符串2:";
    cin >> buf2;
    cout << "请输入m和n:";
    cin >> m >> n;
    insert(buf, buf2, m, n);
    cout << "最后插入字符后:" << endl;
    
    cout << buf << endl;
    return 0;
}

你题目的解答代码如下:

img

#include <iostream>
using namespace std;

int main()
{
    char s[100],*p;
    cin >> s;
    p = s;
    while (*p!='\0')
        p++;
    *p = 's';
    p++;
    *p = '\0';
    cout << s << endl;
    return 0;
}

第二个

img

#include <iostream>
#include <string.h>
using namespace std;

int main()
{
    char s[100], e[100];
    int m,n,len,len2,i;
    cin >> s;
    cin >> e;
    cin >> m >> n;
    len = strlen(s);
    len2 = strlen(e);
    if (m<0)
        m=0;
    if (n<0)
        n=0;
    if (m>len)
        m=len;
    if (n>len2)
        n=len2;
    for (i = len; i >= m; i--)
    {
        s[i+n] = s[i];
    }
    for (i = 0; i < n; i++)
    {
        s[i+m] = e[i];
    }
    cout << s << endl;
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632