当前位置:首页GESP > 正文

GESP 常考字符串题 10 题精讲

作者:野牛程序员:2026-01-18 08:53:11GESP阅读 2023
GESP 常考字符串题 10 题精讲

GESP 常考字符串题 10 题精讲

字符串题在 GESP 考试中几乎必出,难度不高,但非常容易因细节失分。以下 10 题,覆盖 90% 常见考法。


题目 1:判断是否为回文字符串 ⭐⭐⭐

题目描述

输入一个字符串,判断是否为回文串,是输出 YES,否则输出 NO

核心考点

  • 字符串长度

  • 左右对称比较

标准解法(双指针)

for (int i = 0; i < len / 2; i++) {
    if (s[i] != s[len - 1 - i]) {
        flag = false;
        break;
    }
}

📌 GESP 最爱考,必会


题目 2:反转字符串 ⭐⭐⭐

题目描述

输入一个字符串,倒序输出。

核心考点

  • 下标计算

  • 字符数组操作

标准写法

for (int i = len - 1; i >= 0; i--) {
    cout << s[i];
}

⚠️ 不需要新数组也能完成。


题目 3:统计字符串长度 ⭐⭐

题目描述

输入一个字符串,输出字符串长度。

核心考点

  • strlen 使用

  • 结尾 \0 不计入

int len = strlen(s);

📌 使用 cin.getline 时最安全。


题目 4:统计某个字符出现次数 ⭐⭐

题目描述

输入一行字符串和一个字符,统计该字符出现次数。

标准思路

  • 遍历字符串

  • 逐个字符比较

int cnt = 0;
for (int i = 0; i < len; i++) {
    if (s[i] == ch) cnt++;
}

题目 5:判断是否全为字母 ⭐⭐

题目描述

判断字符串中是否只包含英文字母。

核心考点

  • ASCII 范围判断

if (!((s[i] >= 'a' && s[i] <= 'z') ||
      (s[i] >= 'A' && s[i] <= 'Z'))) {
    flag = false;
}

📌 GESP 一级常考。


题目 6:统计大写字母个数 ⭐⭐

题目描述

统计字符串中大写字母的数量。

标准判断条件

if (s[i] >= 'A' && s[i] <= 'Z') {
    cnt++;
}

⚠️ 不可混用 isupper(部分考场未讲)。


题目 7:字符串复制 ⭐⭐

题目描述

把一个字符串复制到另一个数组中。

标准写法

for (int i = 0; i <= len; i++) {
    b[i] = a[i];
}

📌 <= 是为了复制 \0


题目 8:比较两个字符串是否相等 ⭐⭐⭐

题目描述

输入两个字符串,判断是否完全相同。

标准解法 1(推荐)

if (strcmp(a, b) == 0)
    cout << "YES";
else
    cout << "NO";

标准解法 2(手写比较)

bool same = true;
for (int i = 0; i <= len; i++) {
    if (a[i] != b[i]) {
        same = false;
        break;
    }
}

题目 9:删除字符串中的某个字符 ⭐⭐⭐

题目描述

删除字符串中所有指定字符。

核心技巧

  • 用新下标重新存放

int k = 0;
for (int i = 0; i < len; i++) {
    if (s[i] != ch) {
        t[k++] = s[i];
    }
}
t[k] = '\0';

📌 属于“进阶但常考”题型。


题目 10:统计单词个数 ⭐⭐⭐⭐

题目描述

统计一行字符串中单词的数量(单词以空格分隔)。

简化版 GESP 思路

  • 遇到“非空格 → 空格”算一个词

int cnt = 0;
for (int i = 0; i < len; i++) {
    if (s[i] != ' ' && (i == 0 || s[i - 1] == ' ')) {
        cnt++;
    }
}

📌 GESP 二级高频题。


GESP 字符串题通用检查清单(考前必看)

✅ 是否使用 cin.getline
✅ 是否正确处理 \0
✅ 循环条件是否越界
✅ 是否存在多余输出
✅ 输出格式是否完全一致


一句话总结(送分关键)

字符串题不难
难在细节
稳定写法就是满分写法


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • GESP 常考字符串题 10 题精讲
  • 相关推荐

    最新推荐

    热门点击