当前位置: 首页 > news >正文

C++_面试题_21_字符串操作

1. 统计字符串出现的次数

#include <iostream>
#include <cstring>


struct WordCount
{
char word[32];
int count;
};

int main()
{
char s[] = "hello word start begin hello go test hello word";
WordCount wc[100];     // 最多 100 个不同单词
int wc_size = 0;

    char* p = s;

    while (*p)
{
//跳过空格
while (*p == ' ')
p++;
//读取一个单词
char token[32];
int idx = 0;

        while (*p && *p != ' ')
{
token[idx++] = *p;
p++;
}
token[idx] = '\0';
if (idx == 0) continue;  //避免末尾空白


        //判断token 是否已经出现
bool found = false;

        for (int i = 0; i < wc_size; i++)
{
if (strcmp(wc[i].word, token) == 0)
{
wc[i].count++;
found = true;
break;
}
}

        //新单词
if (!found)
{
strcpy_s(wc[wc_size].word, token);
wc[wc_size].count = 1;
wc_size++;
}
}

    //输出结果
for (int i = 0; i < wc_size; i++)
{
std::cout << wc[i].word << ":" << wc[i].count << std::endl;
}

    return 0;
}

#include <iostream>
#include <string>
using namespace std;
std::string replaceSpaces(const std::string& input,
const std::string& replacement) {
std::string output;
for (char c : input) {
if (c == ' ') {
output += replacement;
}
else
{
output += c;
}
}
return output;
}

int main()
{
std::string input = "Hello World! Welcome to C++  programming.";
std::string replaced = replaceSpaces(input, "%20");
std::cout << "Original string: " << input <<
std::endl;
std::cout << "Replaced string: " << replaced <<
std::endl;
return 0;
}

     

http://www.dtcms.com/a/609507.html

相关文章:

  • 多重组合问题与矩阵配额问题
  • 什么情况下会把 SYN 包丢弃?
  • EG27324 带关断功能双路MOS驱动芯片技术解析
  • do_action wordpress 模板关键词优化排名的步骤
  • 海外网站入口通信管理局 网站备案
  • 在 Java 中实现 Excel 数字与文本转换
  • 如何保持不同平台的体验一致性
  • redis(五)——管道、主从复制
  • OBS直播教程:OBS实时字幕插件如何下载?OBS实时字幕插件如何安装?OBS实时字幕插件如何使用?OBS实时字幕插件官方下载地址
  • WPF中TemplatePart机制详解
  • 大学生毕业设计课题做网站网站开发研发设计
  • PPT制作正在发生一场静默革命
  • 无线通信信道的衰落特性
  • 大模型量化压缩实战:从FP16到INT4的生产级精度保持之路
  • ListDLLs Handle 学习笔记(8.11):谁注入了 DLL?谁占着文件不放?一篇教你全搞定
  • 电子电气架构 ---软件架构的准则与描述
  • linux下网站搭建wordpress文章页图片尺寸
  • 上海集团网站建设公司好蚌埠的网站建设
  • opencv 学习: QA_01 什么是图像锐化
  • C++标准库中的排序算法
  • 做网站图片和文字字体侵权seo是什么意思金融
  • Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
  • 科普:华为星闪是什么?华为星闪(英文名 NearLink)是国际星闪无线短距通信联盟发布的新型无线短距通信标准技术。
  • 数据结构6:排序
  • 解决 npm 依赖版本冲突:从 “unable to resolve dependency tree“ 到依赖管理高手
  • Ubuntu 使用 Python 启动 HTTP 服务
  • day14(11.14)——leetcode面试经典150
  • PyTorch实战(10)——从零开始实现GPT模型
  • 东莞商城网站建设哪里比较好电脑手机网站建设
  • django测试缓存命令的解读