求写下这两个程序的代码

这两个程序的代码,就把两个代码都写完就可以了 有会的帮帮忙吧soxjenjzjdekksjdnekwksdkew

img

第一题

#include <iostream>
#include <cstring>

void movestr(char* str, int n) {
    int len = strlen(str);
    char* temp = new char[len + 1];

    // 保存前n个字符
    strncpy(temp, str, n);
    temp[n] = '\0';

    // 将后N-n个字符移到前面
    memmove(str, str + n, len - n);

    // 将保存的前n个字符移到后面
    strcpy(str + len - n, temp);

    delete[] temp;
}

int main() {
    char str[100];
    int n;

    std::cout << "请输入字符串: ";
    std::cin >> str;

    std::cout << "请输入数值: ";
    std::cin >> n;

    movestr(str, n);

    std::cout << "前后交换后的字符串: " << str << std::endl;

    return 0;
}

第二题

#include <iostream>
#include <cstring>

bool EqualReverse(const char* str) {
    int len = strlen(str);
    const char* start = str;
    const char* end = str + len - 1;

    while (start < end) {
        if (*start != *end) {
            return false;
        }
        start++;
        end--;
    }

    return true;
}

int main() {
    char str[100];

    std::cout << "请输入字符串: ";
    std::cin >> str;

    if (EqualReverse(str)) {
        std::cout << "该字符串为回文串" << std::endl;
    } else {
        std::cout << "该字符串不是回文串" << std::endl;
    }

    return 0;
}