使用C语言原生的字符串函数求解的一道题目总结

1.关于原生函数实现字符串的相关问题

这个事一道OJ题目,也是我今天下午花了很长的这个时间的一个题目,但是其实这个仅仅是我在学习这个C语言的时候可能会做到这样的题目,我没有想到学习了CPP之后,还是需要使用原生的函数实现这个字符串的相关的题目的设计;

下面的这个是我们的CPP实现的字符串的这个相关的要求:

这个CPP实现起来我觉得还是相对而言比较容易的,主要就是使用我们的insert函数确定这个插入的位置即可,size函数确定这个字符串的字符数量,整体上这个输入是没有问题的cion使用起来也是非常的方便;

cpp 复制代码
#include <iostream>
#include <string>
using namespace std;

int main() {
    string a, b;
    int n;
    cin >> a >> n >> b;
    if (a.size() > 100) {
        cout << 100 << endl;
    } else {
        cout << a.size() << endl;
    }
    a = a.insert(n - 1, b);
    cout << a << endl;
    for (int i = a.size() - 1, j = 1; i >= 0; i--, j++) {
        if (a[i] == 'x') {
            cout << j << endl;
            break;
        }
    }
    return 0;
}

下面的这个是原生的函数的代码实现的方法:主要就是使用C语言里面的和字符串相关的那些函数

cpp 复制代码
#include <stdio.h>
#include <string.h>

int main() {
    char A[10001];
    char B[10001];
    char C[20002];
    int N;

    // 读取字符串A
    fgets(A, sizeof(A), stdin);
    A[strcspn(A, "\n")] = '\0';

    // 读取插入点N
    scanf("%d", &N);
    getchar();

    // 读取字符串B
    fgets(B, sizeof(B), stdin);
    B[strcspn(B, "\n")] = '\0';

    int lenA = strlen(A);
    // 功能1:输出字符串A的长度(如果大于100则输出100)
    if (lenA > 100) {
        printf("100\n");
    }
    else {
        printf("%d\n", lenA);
    }

   //在我们的这个字符串的指定位置拆这个对应的字符
    int i, j;
    for (i = 0; i < N - 1; i++) {
        C[i] = A[i];
    }
    for (j = 0; B[j] != '\0'; j++) {
        C[i++] = B[j];
    }
    for (; A[i - j] != '\0'; i++) {
        C[i] = A[i - j];
    }
    C[i] = '\0';
    printf("%s\n", C);

    // 功能3:查找字符串C中从右到左第一个出现字母x的位置AxxxAAAAA
    int pos = 0;
    int lenC = strlen(C);
    for (i = lenC-1; i >= 0; i--) {
        if (C[i] == 'x') {
            pos = i + 1;
            break;
        }
    }
    printf("%d\n", lenC-pos+1);

    return 0;
}
相关推荐
To_OC4 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
2401_841495644 小时前
【操作系统】进程同步与互斥实验报告
c++·算法·操作系统·进程·并发·同步·互斥
爱刷碗的苏泓舒8 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
烬羽11 小时前
递归老写崩?一个"退回"公式,把回溯题变成填空题
javascript·深度学习·算法
闪电悠米11 小时前
力扣hot100-41.缺失的第一个正数-原地哈希详解
数据结构·算法·哈希算法
星空露珠12 小时前
28种颜色对应名称,
开发语言·数据库·算法·游戏·lua
QXWZ_IA13 小时前
桥梁数字孪生怎么落地?
人工智能·科技·算法·智能硬件·政务
Kel14 小时前
输出层与反分词(Output Layer & Detokenization)
人工智能·算法·架构
陕西企来客14 小时前
2026年7月技术好GEO优化方案:算法适配与内容策略
人工智能·算法·机器学习·技术好geo优化