题解 | #字符串最后一个单词的长度#牛客在线刷题基本用法

#include<iostream>
//#include<string>
using namespace  std;


//需求:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。

int getLastWordLength(string str){
    if(str.length() == 0)
    {
        return -1;
    }
    int pos = str.find_last_of(' ');
    if(pos == -1){
       return str.length(); 

    }
    else{
        string tmp = str.substr(pos+1);
        return tmp.length();

    }
}

int main(int argc,char** argv){

    string str;
    while(cin>>str)
    {
        if(cin.get() == '\n')
            break;
    }
    int len = getLastWordLength(str);
    cout<<len<<endl;
    return 0;
}

记录一下:
好久没做过牛客网的题,此处记录一下运行报错的原因;
1、 输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000
此处指的是从控制台输入,所以需要使用scanf或者cin;,我之前使用str='hello world'; 使得始终无法运行通过,尴尬

2、 输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
输出不要加多余描述,否则就会报错,像这种:cout<<"len" << len<<endl;是完全错误,不符合要求

3、 scanf("%s",str),格式: scanf好像不支持读取数据到string 中,,,此处的str为new出来的指针
注意:

scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:
① 遇空格、“回车”、“跳格”键。
② 遇宽度结束。
③ 遇非法输入。
要想使用scanf读取一串字符串,可以使用文件结束符EOF来完成,Linux下EOF为Ctrl+d, windows下好像是Ctrl+z,
EOF文件结束符:EOF是stdio.h文件里定义的特殊值,通常情况下#define指令会把EOF定义为“-1”,当scanf()读取到文件结尾时,就会返回EOF(如果是转换说明错误好像是会返回“0”)

while(scanf("%s",str)!=EOF){};

4、 scanf读取数据后,在通过getline(cin,str)读取,两个同时使用就会有问题,所以建议最好C用C,C++用C++。

附注:
支持vim编程,这个我喜欢

全部评论

相关推荐

零零幺零零幺:至少再做一个项目,然后猛投小厂,不然有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
5015次浏览 47人参与
# 你的实习产出是真实的还是包装的? #
1114次浏览 27人参与
# 米连集团26产品管培生项目 #
4164次浏览 198人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
6907次浏览 37人参与
# 简历第一个项目做什么 #
31251次浏览 312人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186349次浏览 1115人参与
# MiniMax求职进展汇总 #
22914次浏览 294人参与
# 面试紧张时你会有什么表现? #
30371次浏览 188人参与
# 简历中的项目经历要怎么写? #
309379次浏览 4152人参与
# 网易游戏笔试 #
6317次浏览 83人参与
# 职能管理面试记录 #
10687次浏览 59人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
6862次浏览 154人参与
# 从哪些方向判断这个offer值不值得去? #
56698次浏览 357人参与
# 腾讯音乐求职进展汇总 #
160394次浏览 1105人参与
# 小红书求职进展汇总 #
226849次浏览 1356人参与
# AI时代,哪些岗位最容易被淘汰 #
62406次浏览 728人参与
# 你怎么看待AI面试 #
179273次浏览 1164人参与
# 正在春招的你,也参与了去年秋招吗? #
362529次浏览 2631人参与
# 你的房租占工资的比例是多少? #
92125次浏览 896人参与
# 机械求职避坑tips #
94398次浏览 567人参与
# 校招笔试 #
466318次浏览 2950人参与
# 面试官最爱问的 AI 问题是...... #
27134次浏览 834人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务