You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何不使用STL、用char和基础循环输出不含字母'e'的单词

以下是完全不使用STL、仅基于char类型与基础循环实现的方案,逻辑简单直观,底层执行效率更高:

实现思路

  • 直接用char数组存储原始字符串,完全规避STL的string、stringstream等组件
  • 遍历字符串过程中逐字符拼接当前单词,同步检查单词中是否包含字母e
  • 遇到空格/句末标点时判定单词结束,若当前单词有效且不含e则输出,随后重置状态处理下一个单词

实现代码

#include <stdio.h>
#include <stdlib.h>

int main() {
    char origin_str[] = "We study C++ programming language first semester.";
    char curr_word[128] = {0}; // 足够容纳单个单词的缓冲区
    int curr_len = 0;
    int contain_e = 0;

    // 输出原始字符串
    puts(origin_str);

    for (int i = 0; origin_str[i] != '\0'; i++) {
        // 遇到分隔符(空格/句点)判定当前单词结束
        if (origin_str[i] == ' ' || origin_str[i] == '.') {
            // 单词非空且不含e则输出
            if (curr_len > 0 && !contain_e) {
                curr_word[curr_len] = '\0';
                puts(curr_word);
            }
            // 重置状态
            curr_len = 0;
            contain_e = 0;
            continue;
        }
        // 检查当前字符是否为e,若需要兼容大写E可修改为 origin_str[i] == 'e' || origin_str[i] == 'E'
        if (origin_str[i] == 'e') {
            contain_e = 1;
        }
        curr_word[curr_len++] = origin_str[i];
    }

    system("pause");
    return 0;
}

运行输出

We study C++ programming language first semester.
study
C++
programming
first

内容的提问来源于stack exchange,提问作者dsa14dfS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:27:00