关于cin.getline()是否会丢弃\n的问题
  • 板块P1765 手机
  • 楼主na1veffo
  • 当前回复13
  • 已保存回复13
  • 发布时间2022/10/23 20:10
  • 上次更新2023/10/27 06:14:52
查看原帖
关于cin.getline()是否会丢弃\n的问题
582281
na1veffo楼主2022/10/23 20:10
#include <iostream>
#include <string>

using namespace std;

string s1 = "adgjmptw";
string s2 = "behknqux";
string s3 = "cfilorvy";

int main()
{
    string s;
    getline(cin, s);

    int cnt = 0;
    for(int i = 0; i < s.size(); i++)
    {
        if(s1.find(s[i]) != -1|| s[i] == ' ') cnt++;
        else if(s2.find(s[i]) != -1) cnt += 2;
        else if(s3.find(s[i]) != -1) cnt += 3;
        else cnt += 4;
    }

    cout << cnt << endl;



    return 0;
}

这个代码自己在vscode的cph上测试没有问题,但是在洛谷oj上是0分,原因是在洛谷上getline(cin, s)读取了\n,但并未舍弃。 想问一下是不是我写的代码有问题,还是用的c标准不一样

2022/10/23 20:10
加载中...