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