问题标题: 酷町堂:2718

0
0
已解决
王俊杰
王俊杰
高级光能
高级光能

2718   最后一次出现2经验值:800

题目描述 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

90分代码:

  • #include<bits/stdc++.h>
  • using namespace std;
  • int main()
  • {
  • long long l;
  • string a;
  • char b;
  • cin>>b;
  • getline(cin,a);
  • getline(cin,a);
  • l=a.size()-1;
  • for(int i=l;i>=0;i--)
  • {
  • if(a[i]==b)
  • {
  • cout<<i+1;
  • break;
  • }
  • for(int i=a.size()-1;i>=0;i--){
  • if(a[i]==b){
  • cout<<i+1;
  • return 0;
  • }
  • }
  • cout<<"NOTFIND";
  • }
  • return 0;
  • }
王俊杰在2020-07-12 11:40:12追加了内容

why

王俊杰在2020-07-13 11:48:56追加了内容

王俊杰在2020-07-13 11:50:33追加了内容

2718:最后一次出现2

Wrong Answer:90分代码共享

王俊杰的测评结果:

测试点

结果

时间

 

1

Accepted

0ms

偷看一下数据

2

Wrong Answer

0ms

偷看一下数据

3

Accepted

0ms

偷看一下数据

4

Accepted

0ms

偷看一下数据

5

Accepted

0ms

偷看一下数据

6

Accepted

0ms

偷看一下数据

7

Accepted

0ms

偷看一下数据

8

Accepted

0ms

偷看一下数据

9

Accepted

0ms

偷看一下数据

10

Accepted

0ms

偷看一下数据

我的提交(cpp):


 
  • #include<bits/stdc++.h>
  • using namespace std;
  • int main()
  • {
  • long long l;
  • string a;
  • char b;
  • cin>>b;
  • getline(cin,a);
  • getline(cin,a);//输入字符串a
  • l=a.size()-1;//求字符串a的长度
  • for(int i=l;i>=0;i--)
  • {
  • if(a[i]==b)
  • {
  • cout<<i+1;
  • break;
  • }
  • for(int i=a.size()-1;i>=0;i--){
  • if(a[i]==b){
  • cout<<i+1;
  • return 0;
  • }
  • }
  • cout<<"NOTFIND";
  • }
  • return 0;
  • }
王俊杰在2020-07-13 12:10:09追加了内容
  • #include <iostream>
  • #include <cmath>
  • #include <string>
  • using namespace std;
  • int main()
  • {
  • long long l;
  • string a;
  • char b;
  • cin>>b;
  • getline(cin,a);
  • getline(cin,a);
  • l=a.size()-1;
  • for(int i=l;i>=0;i--)
  • {
  • if(a[i]==b)
  • {
  • cout<<i+1;
  • break;
  • }
  • for(int i=a.size()-1;i>=0;i--){
  • if(a[i]==b){
  • cout<<i+1;
  • return 0;
  • }
  • }
  • cout<<"NotFound";
  • }
  • return 0;
  • }
  • 30分·

0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

您的代码无问题,把

cout<<"NOTFIND";

改为

cout<<"NotFound";

即可AC

望采纳!

包涵宇在2020-07-13 12:31:23追加了内容

1.删掉

l=a.size()-1;
for(int i=l;i>=0;i--)
{
if(a[i]==b)
{
cout<<i+1;
break;
}

(下面还有一个大括号也要删)

2.将


cout<<"NOTFIND";

改为

cout<<"NotFound";

AC!

0
陈曦
陈曦
资深天翼
资深天翼

不好意思。

看成 1151 了。

0
0
被禁言 何冯成
何冯成
中级光能
中级光能

仔细看题,是输出c最后一次出现在字符串s的第几个字符的位置,所以要定义一个下标pos来更新这个位置,定义初值为-1

    for(int i=0;i<a.size();i++){
        if(a[i]==c) pos=i;
    }

在最后加一个特判,判断pos是否不为-1,如果是,cout<<pos+1;

else cout<<"NotFound";

0
陈曦
陈曦
资深天翼
资深天翼

思路:
    1、找出每一个字符串中的字母。

    2、把它们加密(+1)

    3、把 “z”"Z"变成“a”"A"

    5、输出。

 

 

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    b c d e f g h i j k l m n o p q r s t u v w x y z a

 

a   b

b   c

c   d

d   e

e   f

f   j

g   h

h   i

i   g

j   k

k   l

l   m

m   n

n   o

o   p

p   q

q   r

r   s

s   t

t   u

u   v

v   w

w   x

x   y

y   z

z   a

我要回答