问题标题: 酷町堂:2718

0
0
已解决
胡景波
胡景波
中级光能
中级光能

2718   最后一次出现2

题目描述 Description

给你一个字符串s和一个字符c,请你统计一下字符c最后一次出现在字符串s的第几个字符,如果c在s中没有出现过则输出“NotFound”。

输入描述 Input Description

第一行:一个字符,c
第二行:一个字符串,s,s的长度不超过260

输出描述 Output Description

如果字符c在s中出现过则输出一个整数x表示c最后一次出现是在字符串s的第x位,如果字符c没有在字符串s中出现过则输出“NotFound”

样例输入 Sample Input

 

q
qwfaDFGrgsdfqfsertSFG

样例输出 Sample Output

 

13

70分代码:

#include<iostream>
#include<cstring>
using namespace std;
int main(){
    string a;
    char b;
    int pos;
    cin>>b>>a;
    for(int i=a.size()-1;i>=0;i--){
        if(a[i]==b){
            pos=i;
            cout<<pos+1;
            break;
        }
    }
    cout<<"NotFound";
    return 0;
}


0
已采纳
杜智宸
杜智宸
中级光能
中级光能

最后出现你就倒序遍历,第一次出现的即为最后一次出现的

find函数用上

int q=a.find(0,b);

如果找不到,这个函数就会返回-1

if(q==-1){

    cout<<"NotFound";

}

else{

       把你的循环放进去

}

 

杜智宸在2020-08-09 22:16:38追加了内容

写反了,是a.find(b,0)

0
我要回答