问题标题: 酷町堂:为什么只能输入一次?

0
0
已解决
黄子扬
黄子扬
新手守护
新手守护
#include<bits/stdc++.h>
using namespace std;
int main()
{
    char s1;
    string s2;
    cin>>s1;
    getline(cin,s2);
    int i,n,z=0;
    n=s2.size()-1;
    for(i=0;i<=n;i++)
    if(s1==s2[i])
    z=i;
    if(z!=0)
    cout<<z<<endl;
    else
    cout<<"NOTFIND"<<endl;
    return 0;
}

点击查看题目

求大佬解答


0
已采纳
刘乐宸
刘乐宸
新手天翼
新手天翼
要输入2遍,不然会把a的值作为上一个输入的换行!

 

刘乐宸在2019-03-19 12:18:10追加了内容

输入两遍a

getline(cin,a);
getline(cin,a);

就OK

刘乐宸在2019-03-19 12:20:05追加了内容

不不不,错了,是s2哈!

最后输出还要加一

刘乐宸在2019-03-19 12:22:26追加了内容

主代码这样:

getline(cin,s2);
    getline(cin,s2);
    int i,n,z=0;
    n=s2.size()-1;
    for(i=0;i<=n;i++)
    if(s1==s2[i])
    z=i;
    if(z!=0)
    cout<<z+1<<endl;
    else
    cout<<"NOTFIND"<<endl;

满分!

求采纳!

 

0
黄品翔
黄品翔
初级光能
初级光能

有可能是字符串a把回车也给当做是一个字符串了~~~

0
0
何沐阳
何沐阳
初级光能
初级光能

在cin后面的getline(cin,s2)要写两遍

0
范子扬
范子扬
高级守护
高级守护

cin不输入空格和回车,但getline会,所以s2有值,是一个回车

0
0
我要回答