• 华科机考:统计单词


       

    时间限制:1秒       空间限制:32768K         

    题目描述

    编一个程序,读入用户输入的,以“.”结尾的一行文字,统计一共有多少个单词,并分别输出每个单词含有多少个字符。 (凡是以一个或多个空格隔开的部分就为一个单词)

    输入描述: 输入包括1行字符串,以“.”结束,字符串中包含多个单词,单词之间以一个或多个空格隔开。

    输出描述: 可能有多组测试数据,对于每组数据, 输出字符串中每个单词包含的字母的个数。

    输入例子: hello how are you.

    输出例子: 5 3 3 3

    要点:1.扫描该串,如果当前字符不是空格也不是.号就自加,在此基础上,如果下一个字符是空格或者是.号就输出该单词长度

               (具体实现的话,就用两个if嵌套就ok了)

             2.输出的末尾不能有空格

              (可以采用一个标志量来区分是否为带一个输出的单词长度)

    代码:

    #include <iostream>
    
    using namespace std;
    
    int main(){
      string str;
      int ans,flag;
        while(getline(cin,str)){
           ans=0;
           flag=0;
          for(int i=0;i<str.size()-1;i++){
             if(str[i]!=' '&&str[i]!='.'){
                ans++;
                 if(str[i+1]==' '||str[i+1]=='.'){
                    if(flag==0){
                     cout<<ans;
                     flag=1;
                    }
                    else
                     cout<<" "<<ans;
                   ans=0;
                 }
             }
          }
         cout<<endl;
        }
      return 0;
    }
  • 相关阅读:
    Beta版本冲刺第二天 12.6
    Beta版本冲刺第一天 12.5
    Linux学习(2)—— 图形化界面
    Linux学习(1)—— 虚拟机安装Linux系统
    IntelliJ IDEA使用
    spring+springmvc+hibernate 整合
    新的篇章
    软件工程实践总结作业——个人作业
    Beta版本冲刺———第七天
    Beta版本冲刺———第六天
  • 原文地址:https://www.cnblogs.com/mlgjb/p/6648846.html
Copyright © 2020-2023  润新知