70分求助

B2110 找第一个只出现一次的字符

ninnd @ 2023-11-02 19:20:48

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int b[26] = { 0 };
    string a;
    getline(cin, a);
    for (int i = 0; i <a.size(); i++)
    {
        b[(int)a[i] - 97]++;
    }
    for (int i = 0; i<a.size(); i++)
        if (b[(int)a[i] - 97] == 1)
        {
            cout << a[i]; return 0;
        }

    cout << "no";

    return 0;
}

为什么将getline换成cin就满分了,求助


by _zhx @ 2023-11-02 19:53:07

@ninnd 因为 cin 遇到空格会直接结束


by ninnd @ 2023-11-02 21:07:37

@_zhx 所以检测那边是把空格作为结束符吗


by _zhx @ 2023-11-03 06:35:04

@ninnd 你可以自己试一下,C++就是这么设定的


|