2026.2.18——OJ86-88题

T86:字符串统计------字符串

代码实现:

#include <iostream>

#include <string>

using namespace std;

int main(){

int n;

cin>>n;

cin.ignore();//忽略整数后的换行符

for(int i=0;i<n;i++){

string s;

getline(cin,s);//读取一行字符串(可能包含空格)

int count=0;

//统计小写字母个数

for(char c:s){

if(c>='a'&&c<='z'){

count++;

}

}

cout<<count<<endl;

}

return 0;

}

个人思考:

注意这道题输入数字n后会有一个换行符,所以需要cin.ignore();//忽略整数后的换行符,后面就是通过遍历输入的n行,然后统计对应的小写字母个数,符合就count++。

T87:弟弟的作业------字符串

代码实现:

#include <iostream>

#include <string>

using namespace std;

int main(){

string s;// 存储每行题目

int cnt=0;

while(cin>>s){

size_t p=s.find_first_of("+-");//找到运算符位置

char op=s[p];//存储运算符

size_t q=s.find('=');//找到等号位置

//提取数字a和b(字符串转整数)

int a=stoi(s.substr(0,p));//从字符串中提取a这个数字

int b=stoi(s.substr(p+1,q-p-1));//从字符串s中提取b这个数字,p+1是起始位置,q-p-1是截取的长度。

string t=s.substr(q+1);//提取等号后的部分

if(t=="?") continue;//不会做,本题不计入正确

int c=stoi(t);//弟弟算出的答案

int right=(op=='+')?a+b:a-b;//正确结果

if(right==c) cnt++;

}

cout<<cnt<<endl;// 输出答对题目数

return 0;

}

个人思考:

这道题主要用到(1)find函数:在字符串中查找指定的字符或子串,返回第一次出现的位置(索引);(2)substr函数:从字符串中提取一段子串;(3)stoi函数:将字符串转换为int类型的整数。先通过find函数定位"+/-"运算符和"="运算符,然后提取前面的操作数,以及处理等号后的结果,通过计算正确的结果和弟弟计算的结果进行比较,答对则cnt++。最后输出答对的数量。

T88:字符串排序------字符串

代码实现:

#include <iostream>

#include <string>

using namespace std;

int main(){

string line;

while( getline(cin,line)****){

int cnt[26]={0};

//统计每个字母出现次数

for(char c:line){

if(c>='a'&&c<='z'){

cnt[c-'a']++;

}

}

//按字母顺序输出

for(int i=0;i<26;i++){

for(int j=0;j<cnt[i];j++){

cout<<char('a'+i);

}

}

cout<<endl;

}

return 0;

}

个人思考:

这道题采用while循环,因为字符串中可能有空格,所以采用**getline(cin,line),**接着统计其中每个字母出现的次数,然后输出的时候双重循环,外层循环的范围是26个英文字母的顺序,内部循环的范围是每个字母出现的次数,cout<<char('a'+i);每一行输出之后然后输出换行符。

英语翻译:

P60:I.介绍

计算机科学是对理论、实验与工程的研究,这些内容构成了计算机设计与使用的基础------而计算机是能够自动处理信息的设备。计算机科学的源头可追溯至英国数学家查尔斯·巴贝奇的工作,他在1837年首次提出了可编程机械计算器的构想。20世纪40年代电子数字计算机出现之前,计算机科学通常并未被视为与数学和工程学相互独立的学科。自那以后,它催生了众多专属于这一学科的研究分支。

mechanical:机械的

calculator:计算器

sprouted:萌芽;涌现;长出(sprout 的过去式)

P61:II.计算机科学的发展

在20世纪40年代末至50年代初,计算机科学领域的早起工作主要集中在自动化计算过程,以服务于科学与工程领域的应用。科学家和工程师们构建了计算理论模型,借此分析不同方法执行各类计算时的效率。这一时期,计算机科学与数学分支------数值分析(研究计算的准确性与精确性)存在大量交叉。

overlapped:重叠;交叉;部分重合

numerical analysis:数值分析

P62:随着20世纪50年代到70年代计算机应用的普及,计算机科学的研究范围也随之拓宽,开始涵盖通过编程语言(用于对计算机进行编程的人工语言)和操作系统(在计算机与用户之间提供使用交互界面的计算机程序)来简化计算机使用的内容。在这一时期,计算机科学家也在试验新的应用场景和计算机设计方案,创建了最早的计算机网络,并探索计算与思维之间的关系。

背单词:

相关推荐
17(无规则自律)几秒前
C++ 链表修炼指南
数据结构·c++·算法·leetcode·链表
KhalilRuan1 分钟前
基于OpenGL实现布料模拟
算法
大江东去浪淘尽千古风流人物2 分钟前
【claw】 OpenClaw 的架构设计探索
深度学习·算法·3d·机器人·slam
闻缺陷则喜何志丹3 分钟前
【字典树 回溯】P7210 [COCI 2020/2021 #3] Vlak|普及+
c++·算法·字典树·回溯·洛谷
Vect__3 分钟前
深刻理解C++STL库常见容器功能和底层
开发语言·c++
夏玉林的学习之路3 分钟前
委托构造和using关键字
开发语言·c++·算法
small-pudding4 分钟前
深入理解PDF:蒙特卡洛光线追踪中的概率密度函数
算法·pdf·图形渲染
历程里程碑6 分钟前
Linux 46 HTTPS(协议原理)安全通信全流程解析
linux·网络·c++·网络协议·http·https·排序算法
We་ct7 分钟前
LeetCode 46. 全排列:深度解析+代码拆解
前端·数据结构·算法·leetcode·typescript·深度优先·回溯
逆境不可逃7 分钟前
LeetCode 热题 100 之 763.划分字母区间
算法·leetcode·职场和发展