英文试水,卡在字符处理上。
这一块需要好好加强训练,等到第二阶段学会字符串的简单处理。
反思:做题没有持续性,因为个人惰性的增强导致速度慢了很多。现在开始严格要求自己,尽量达到考研时候的状态。切不可前功尽弃。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
int T;
(cin>>T).get(); //从缓冲区的去掉之后的空格处理
while(T--)
{
int begin,end;
getline(cin,str);
begin=end=0;
for(int i=begin;i<str.size();i++)
{
if(str[i]==' ')
{
end=i;
for(int j=end-1;j>=begin;j--)
cout<<str[j];
cout<<" ";
begin=end+1;
}
}
for(int k=str.size()-1;k>=begin;k--)
cout<<str[k];
cout<<endl;
}
return 0;
}
<pre name="code" class="cpp">#include<iostream>
#include<string>
using namespace std;
//没认真理解题意,写成单词逆序,不过思想和上面相同。不足是不会字符串的处理
int main(){
int N;
while(cin>>N){
char str[1001];
int pos;
for(int i=0;i<N;i++){
cin>>str;
for(int i=0;i<1001;i++){
if(str[i]=='\0'){
pos=i;
break;
}
}
for(int j=pos;j>0;j--){
cout<<str[j-1];
if(j==1)
cout<<endl;
}
}
}
return 0;
}
cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,下一次使用cin.get()时会取到留在队列中的/n
cin.getline()每次读取一整行并把由Enter键生成的换行符抛弃
网络资源很杂,挑的时候一定要看质量再细看。