0
0
已采纳
钱成
初级守护
初级守护
AC
正文:
额,我觉得,x在s中出现的第一次位置用find找比较简单,最后一次出现的位置是需要通过循环遍历字符串来找;
你的问题是:①头文件多余 #include <cstring> 是当使用字符数组的函数时用到的头文件,
比如说:当你要求字符数组的长度时,需要用到的函数是 strlen(字符数组名);
②题目要求的是位置,所以找到的下边不需要+1
我的代码如下:
...
//别忘了字符串的头文件
string s; //我把它定义在了主函数外面
...
定义 x1,x2; //x1,x2是x在s中先后出现的位置
定义字符x
输入
x1=s.find(x); //判断s中有木有x (如果有,那么s中第一次出现的x就找到了)
如果(x1==-1) //若没有,输出-1
{
输入
}
否则 //若有,则循环遍历找最后一次出现的位置
{
循环
{
if(s[i]==x)
{
x2=i; //循环结束时,x2的值就是最后一次的位置
}
}
输出
}
...
打字十分不易,望采纳
0
徐紫尘
高级光能
高级光能
int a,b;
string s;
char x;
a=s.find_first_of(x);
b=s.find_last_of(x);
if(a==-1){
cout<<"-1";
} else{
cout<<a<<" "<<b;
}
十分代码,仅供参考
0
0
王泽宇
初级光能
初级光能
b=s.find(x),c=s.find_last_of(x);
if(b!=-1&&c!=-1)cout<<b<<“ ”<<c;
else cout<<-1;
0
0