0
已采纳
贾文卓
高级光能
高级光能
这道题目没有那么难,可以利用C++输入的特性(即遇到空格就截断)轻松完成这道题目。
核心代码:
cin >> s >> s;
这是输入部分。经过这条语句,字符串s存储的就是第二个单词了。
输出你应该会。
0
0
周俊豪
高级光能
高级光能
getline(cin,a);
s=a.size();
for(int i=0;i<=s-1;i++){
if(a[i]==' '){
j=i;
a.erase(j,1);
break;
}
}
for(int i=0;i<=s-1;i++){
if(a[i]==' '){
l=i-j;
break;
}
}
b=a.substr(j,l);
o=b.size();
cout<<b<<" ";
cout<<o;
注意:定义字符串a,b。
定义整形变量s,j,l,o;
别忘了#include<string>的头文件!
求采纳!
周俊豪在2018-07-20 16:19:25追加了内容
思路:先输入字符串a;
整形s为a的长度;
第一个循环为求第二个单词的出现的长度;
用整形变量j来储存,为后面的截取函数做铺垫;
之后再删除j后面的空格;
删除出第一个空格后跳出循环,以免重复保存长度;
第二个循环用来为后面的截取求出第二个空格离第一个空格的长度;
b=a.substr(j,i);是截取j后面的i个字符;
整形o是求第二个单词的长度;
最后再输出;
求大佬采纳!