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

背单词:

相关推荐
_nirvana_w_1 小时前
Qt项目链接库时遇到的坑:-l选项的正确用法
开发语言·c++·qt·qt框架·elawidgettools
努力学算法的蒟蒻1 小时前
day89(2.18)——leetcode面试经典150
算法·leetcode·面试
我命由我123451 小时前
Visual Studio - Visual Studio 修改项目的字符集
c语言·开发语言·c++·ide·学习·visualstudio·visual studio
丰海洋2 小时前
Leetcode-hot100-283.移动零
算法·leetcode·职场和发展
郝学胜-神的一滴2 小时前
Python变量本质:从指针哲学到Vibe Coding优化
开发语言·c++·python·程序人生
s_w.h2 小时前
【 C++ 】搜索二叉树
java·开发语言·c++·算法
俩娃妈教编程2 小时前
2023 年 09 月 二级真题(2)--数字黑洞
c++·算法·while
SCLchuck2 小时前
std::function 在析构阶段触发非法内存访问
c++·lambda
星火开发设计2 小时前
关联式容器:map 与 multimap 的键值对存储
java·开发语言·数据结构·c++·算法