zoukankan      html  css  js  c++  java
  • 输入一个字符串,判断最后一个单词的长度

    第一个版本,只考虑了简单的情况,未考虑全部是空格,连续好几个空格,空格在最后,空格在开头的种种情况

    #include<iostream>
    #include <string>
    using namespace std;
    int main()
    {
      string s;
      getline(cin,s);
      int total = s.size();
      for(int i = s.size()-1;i>=0;i--)
      {
        if(s[i] == ' ')
        {
          cout<<s.size()-1-i<<endl;
          return 0;
        }
      }
      return 0;
    }

    第二个版本,考虑的全面一点,就是指针用的挺多的,可读性也不是太好

    #include<iostream>
    #include <string>
    using namespace std;
    int main()
    {
      string s;
      getline(cin,s);
      int total = s.size();
      char *p=&s[total-1];
      while(*p== ' ')//从字符后面开始判断有没有空格,没有指针不动
      {
        if(p==s)//如果判断到头,证明全是空格,输出0
        {
          cout<< 0<<endl;
          return 0;
        }
        p--;//有的话就往前移
      }
      char *end =p;
      for(char *k=p;k!=s;k--)//从现在的尾部开始查
      {
        if(*k==' ')//碰到空格就输出一共移了几次
        {
          cout<< p-k <<endl;
          return 0;
        }
      }
      cout<< end-&s[0]+1 <<endl;//如果一直没碰到空格,证明就一个单词,输出长度
      return 0;
    }

  • 相关阅读:
    Python实现二叉树的遍历
    Selenium模拟浏览器初识
    sklearn中的随机森林
    scrapy爬虫事件以及数据保存为txt,json,mysql
    mac安装mysql及终端操作mysql与pycharm的数据库可视化
    爬虫框架scrapy的基本内容
    多进程实例——爬取百度贴吧
    Python多进程并发操作进程池Pool
    【转】数据库设计三大范式
    【转】栈和堆的区别
  • 原文地址:https://www.cnblogs.com/mini-coconut/p/8634942.html
Copyright © 2011-2022 走看看