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

背单词:

相关推荐
知识浅谈5 小时前
DeepSeek V4 和 GPT-5.5 在同一天发布了??我也很懵,但对比完我悟了
算法
DeepModel5 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
田梓燊5 小时前
力扣:19.删除链表的倒数第 N 个结点
算法·leetcode·链表
handler016 小时前
从零实现自动化构建:Linux Makefile 完全指南
linux·c++·笔记·学习·自动化
简简单单做算法7 小时前
基于GA遗传优化双BP神经网络的时间序列预测算法matlab仿真
神经网络·算法·matlab·时间序列预测·双bp神经网络
guygg887 小时前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
武藤一雄7 小时前
19个核心算法(C#版)
数据结构·windows·算法·c#·排序算法·.net·.netcore
sali-tec7 小时前
C# 基于OpenCv的视觉工作流-章52-交点查找
图像处理·人工智能·opencv·算法·计算机视觉
我头发多我先学8 小时前
C++ 模板全解:从泛型编程初阶到特化、分离编译进阶
java·开发语言·c++
yu85939588 小时前
MATLAB连续线性化模型预测控制(SL-MPC)
算法·机器学习·matlab