C++ <统计单词数及单个字母出现次数>

C++统计给定文本中每个单词出现的次数并输出结果到文件 思路:将给定文件按行读入–>去除每行中出现的非字母字符–>以空格分隔读入每个单词–>统计单词出现的次数。 按行读入文件并保存到一个string中 string tmp, strFile; ifstream file("1.txt"); while (getline(file, tmp)) { strFile.append(tmp); tmp.clear(); }... 阅读详情

运行结果:

 Enter a string: For example, the input
 4 words
 1 a
 3 e
 1 f
 1 h
 1 i
 1 l
 1 m
 1 n
 1 o
 2 p
 1 r
 2 t
 1 u
 1 x

countWords.cpp

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

int computeWords(const string& str);
void countOccurs(const string& str, int a[]);
void show(const string& str, const int a[], int LEN);

int main() {
    const int LETTER = 26;
    int a[LETTER] = {0};
    string str;

    cout << "Enter a string: ";
    getline(cin, str);

    int words = computeWords(str);
    countOccurs(str, a);

    cout << words << " words\n";
    show(str, a, LETTER);

    return 0;
}

int computeWords(const string& str) {
    int count = 0;
    for (int i = 0; i < str.length(); i++) {
        if (isalpha(str[i]) && (! isalpha(str[i +1])))
            count++;
    }

    return count;
}

void countOccurs(const string& str, int a[]) {
    for (int i = 0; i < str.length(); i++) {
        if (isupper(str[i]))
            a[str[i] - 'A']++;
        else if (islower(str[i]))
            a[str[i] - 'a']++;
    }
}

void show(const string& str, const int a[], int LEN) {
    char letters = 'a';
    for (int i = 0; i < LEN; i++) {
        if (a[i] != 0)
            cout << a[i] << ' ' << letters << "\n";
        letters++;
    }
}
【C++】文本文件单词统计、定位 文本文件单词统计 1.1 【问题描述】 编写一个文本文件单词统计的程序,包括建立文件、单词统计、单词查询、单词定位的功能。 1.2 【基本要求】 程序应先询问用户的ID号(ID 号包括两个大写字母和4 位数字),例如: 请输入用户ID号:AB1234 程序应对输入的ID 号验证,符合ID 号要求的格式,然后程序提示四种选择: (1) 建立文件 (2) 单词统计 (3) 单词查询及定位 (4) 退出 注意: i) 文件至少包含50个英文单词(一定出现重复的单词,且一定包含数字) ii) 文档不规范,单词之间. 阅读详情

相关推荐

P1308 [NOIP 2011 普及组] 统计单词数

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2)。

polarours的博客 964

C++ 统计输入的字符串中英文字母的个数

#include <iostream> using namespace std; int getNumber(char str[1000]) { int sum=0; //strlen 计算字符串里面一共有多少个字符 //sizeof 计算字符串占的总内存空间 for(int i=0;i<strlen(str);i++) { if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&st.

tiegenZ的博客 1万+

统计单词数

不用vector只能老实的从str头遍历到尾,遍历过程中,用一个临时变量word临时存储每一个单词(临时的周期为:一次遇到空格到下一次遇到空格之间的生命周期),通过和空格判断来划分每一个单词,遇到空格就比较该单词是否和target相等,相等并且下标为-1就更新下标(让现在遍历的下标位置减去目标单词的长度),并且计数器cnt++,比较完之后让word置空进行下一个单词的存储。一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。

一个正在学习C/C++的博主 773

PTA (统计文字中的单词数量并按出现次数排序)

现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。 注1:单词之间以空格(1个或多个空格)为间隔。 注2:忽略空行或者空格行。 基本版: 统计时,区分字母大小写,且不删除指定标点符号。 进阶版: 统计前,需要从文字中删除指定标点符号!.,?????。 注意:所谓的删除,就是用1个空格替换掉相应字符。 统计单词时需要忽略单词的大小写。 输入说明 若干行英文,最后以!!!为结束。 输出说明 单词数量 出现次数排名前10的单词(次数按照降序排序,如果次数相同,则按照键值的字母升序排序)及

weixin_43808717的博客 2462

STM32 Boot程序实战:从启动流程到安全跳转机制解析

本文深入解析STM32 Boot程序的核心作用与安全跳转机制,涵盖启动流程、内存管理、中断向量表重定向及固件验证等关键环节。通过实战案例分享如何实现可靠的固件升级与故障回退策略,避免设备变砖风险,提升嵌入式系统稳定性。

pluto的博客 780

[运动规划算法]基于飞行走廊的轨迹优化

文章目录简介一、介绍二、原理飞行走廊生成三、项目演示参考 简介 Btraj是一个在线的四旋翼无人机的运动规划框架,主要用于未知环境中的自主导航。基于机载状态估计和环境感知,采用基于快速行进(FM *)的路径搜索方法,从基于构建的欧氏距离场(ESDF)中寻找路径,以实现更好的时间分配。通过对环境进行膨胀生成四旋翼无人机的飞行飞行走廊。使用伯恩斯坦多项式将轨迹表示为分段Bezier曲线,并将整个轨迹生成问题转换成凸问题。通过使用Bezier曲线,可以确保轨迹的安全性和高阶动力学可行性,可以将轨迹完全限制在安全

xiewf的博客 8063

统计文字中的单词数量并按出现次数排序

现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。 注1:单词之间以空格(1个或多个空格)为间隔。 注2:忽略空行或者空格行。 基本版: 统计时,区分字母大小写,且不删除指定标点符号。 进阶版: 统计前,需要从文字中删除指定标点符号!.,?????。 注意:所谓的删除,就是用1个空格替换掉相应字符。 统计单词时需要忽略单词的大小写。 ###输入说明 若干行英文,最后以!!!为结束。 ###输出说明 单词数量 出现次数排名前10的单词(次数按照降序排序,如果次数相同,则按照键值的字母

LeiChennb的博客 2066

接口自动化测试如何做?测试老鸟总结,接口测试数据构造大全......

接口参数的数据获取:接口文档:接口文档通常会包含接口需要的请求参数和返回结果的格式、类型等信息;测试用例设计:根据测试用例设计的需求,可以确定需要哪些请求参数以及期望的响应结果;业务数据:从实际业务场景中获取数据,以确保测试数据的真实性和代表性;数据库:从数据库中获取数据,作为接口测试的输入参数;随机数据生成器:通过随机数据生成器生成测试数据,以增加测试用例的多样性和覆盖率。在选择数据来源时,需要根据具体情况进行选择。如果有可靠的接口文档,可以直接从文档中获取请求参数和预期结果;

798

c++统计单词次数

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。输出m个整数,表示对应单词在文章中出现的次数。如果单词在文章中没有出现,则直接输出一个整数-1。第 2 行有n个字符串,其中只可能包含小写字母和空格,表示给定的文章。第 1 行为一个整数n(1

浪子回头 1197

高通Sensor Tuning实战:手把手教你用Chromatix生成并打包bin文件(附避坑指南)

本文详细介绍了高通Sensor Tuning的全流程实战,从Chromatix配置到Bin文件加载验证。通过手把手教程,帮助开发者掌握Chromatix工具链的使用,避免常见配置错误,提升调试效率。特别针对kalama等新一代平台,提供经过验证的解决方案和避坑指南。

ios99的博客 483

告别误唤醒!S32K3xx低功耗设计避坑指南:Fast Standby模式与WISR寄存器操作详解

本文深入解析了NXP S32K3xx系列MCU在低功耗设计中常见的误唤醒问题,并提供了基于Fast Standby模式的解决方案。文章重点剖析了DCMRWF5寄存器的配置方法、WISR/WISR_64唤醒中断状态寄存器的标志位处理策略,以及如何利用32KB Standby SRAM保存唤醒状态,从而帮助开发者构建稳定可靠的汽车电子低功耗系统。

weixin_29163857的博客 362

[NOIP2011 普及组] 统计单词数

一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例 1),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例 2)。

pleasantgoat17的博客 1978

vue2/3 - 详细实现内网使用离线高德地图功能,在vue中无需网络离线使用高德地图相关功能,高德地图如何离线加载详细教程(内网部署及使用),提供最新完整的瓦片资源下载及相关工具(示例代码,一键复制

vue,vue2,vue3,高德地图,离线使用高德地图,高德地图瓦片官方下载,vue内网使用高德地图离线无网络,断网情况下使用高德地图,vue离线高德地图教程,如何实现内网部署高德地图,无需联网离线使用,vue+ts实现离线高德地图 内网离线高德地图,如何在高德地图Vue项目中下载离线地图,高德离线地图加载不出来,高德地图离线使用不显示怎么办,怎么解决vue内网使用离线高德地图加载失败问题,vue实现离线地图+高德瓦片,vue引入高德离线地图,vue项目如何使用离线高德地图和自定义地图样式,高德离线地图的下

✅ 精选推荐文章 1万+

C++统计单词数

【题目描述】 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同(参见样例1),如果给定单词仅是文...

WUHU648的博客 4143

地平线旭日X3 安装xfce桌面+VNC查看USB摄像头

VNC是Virtual Network Computing的缩写,它是一种使用RFB(Remote Frame Buffer)协议的用于控制远程电脑的图形桌面分享系统。xfce桌面相比于GNOME桌面更加轻量,占用的资源更少,在没有GPU的设备上也可以运行(旭日的Desktop版本从外观上好像就是xfce桌面,具体没有尝试)。可以使用专用的VNC客户端连接到开发板,例如vnc viewer。板子默认带有openssh-server,因此,WiFi热点连接成功后,就可以使用ssh登录开发板了。

bingdund的博客 509

一张图看懂 ABAP CDS 两大子语言:CDS DDL 与 CDS DCL 以及缺席的 DML

ABAP CDS 的核心设计思想围绕语义数据模型(DDL)与数据访问控制(DCL)展开,而非单纯作为SQL查询工具。其DDL通过声明式语法定义业务导向的数据视图,强调模型稳定性与复用性;DCL则将访问控制逻辑下沉到模型层,实现行级权限过滤。ABAP CDS刻意剥离DML功能,交由ABAP SQL处理数据变更,形成清晰的分层架构。这种设计使数据定义、访问控制与应用逻辑解耦,为现代ABAP应用提供更安全、可维护的数据治理方案。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 976

C++统计文章中单词出现的个数和每个字母出现的次数并按字母顺序排序

C++统计文章中单词出现的个数和每个字母出现的次数并按字母顺序排序 文章目录C++统计文章中单词出现的个数和每个字母出现的次数并按字母顺序排序在主函数中进行循环写法封装成函数 在主函数中进行循环写法 利用array数组和数字与字符的转换进行编程,如下: 效果如下: #include <iostream> #include<vector> #include<string> #include<fstream> #include<cstdlib>

qq_48345413的博客 4003

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[C++]蓝桥杯 DEV-17 统计单词数

问题描述   统计输入英文文章段落中不同单词(单词有大小写之分,  但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母. 输入格式   一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格,  逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和句号紧跟在它前面的英文单词后面, 中间没有空格. 段落最后一个字符是回车...

明月寄天涯的博客 2934

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

c++ 统计一行文本中单词个数

这个题直接统计空格数+1 是错的。只能实打实的找字母。 #include<iostream> #include<cstring> #include<algorithm> using namespace std; static void f(string s){ int p1=0; int count = 0; string ss[1000]; int ...

MISS假老练的博客 8225

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文本文件单词统计

问题描述: 假设有如下的英文文本文档:(文件名是:Happiness.txt) What Is Happiness Most of us probably don’t believe we need a formal definition of happiness; we know it when we feel it, and we often use the term to descr...

分享包括但不限于计算机基础知识、数据结构与算法、Golang技术栈。年与时驰,意与日去,遂成枯落,多不接世,悲守穷庐,将复何及! 7979

C++ 统计单词数——string用法

题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章 中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一...

Log的博客 7617

P1308 统计单词数详解

​功能​:读取到指定的分隔符delim(不包含在结果中)。即是读取到 分隔符这个特定符合就停止读取其时这题解也说的七七八八了,最后一个是 可能你好奇有个while ,这只不过是在找到目标单词后继续往后找,知道结束,前面的 if 和 else 只是为了判断原单词在文章是否存在,存在则记录第一个,之后的不记录,不存在则直接返回 -1 结束。

2501_90651890的博客 1682

算法笔记---统计一个给定字符串中指定字符出现的次数,统计每个单词有多少个字母

1.统计字符 2.统计单词

qq_33782655的博客 1858

算法提高 统计单词数

算法提高 统计单词数 时间限制:1.0s 内存限制:512.0MB 问题描述   统计输入英文文章段落中不同单词(单词有大小写之分,  但统计时忽略大小写)各自出现的次数。 输入段落中所含单词的总数不超过100,最长单词的长度不超过20个字母. 输入格式   一个包含若干句子的段落, 每个句子由若干英文单词组成. 除空格,  逗号和句号外, 这些输入的句子中不含其他非字母字符, 并且, 逗号和...

NJU phd 在读。 1196
上一篇: C++ <读入字符串并过滤掉不合格的字符>
下一篇: C++ <替换字符串中的数字>
Okwarry
博客等级 码龄15年 21粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值