美文网首页NOIP之路
C++ 字符数组 - 统计一段英文单词的平均长度

C++ 字符数组 - 统计一段英文单词的平均长度

作者: 静_谷 | 来源:发表于2017-02-28 12:35 被阅读444次

题目如下:

1、求输入英文句子单词的平均长度。(以空格,逗号,感叹号,问号等符号隔开单词,最后以实心句号结束。)
如:s表示字母数量,count表示单词数量,字母串可以直接应用下标
what is your name? my name is lilei.单词平均长度3.4

初看很简单啊,想了想,便有思路了:先读取字符串,再一个for取每一个char字符。循环判断是否为一个新单词,在每一个新单词结束前,统计单词数量,结束时 总值++,单词个数++。
代码如下:

#include <iostream>
#include <cstring>

using  namespace std;

int main()
{
    string str;
    getline(cin,str);
    int index =1;
    int SUM_temp = 0;
    int SUM = 0;
    for(int i=0;i<str.size();i++)
    {
            char c = str[i];
            if(c == '.')
                 break;
            if(c == ' ' || c == '?' || c == '!' || c == ',')
            {
                 SUM += SUM_temp;
                 SUM_temp = 0;
                 index++; 
             }else
                  SUM_temp++;
     }
     SUM += SUM_temp;
     cout<<SUM/index;
    system("pause");
    return 0;
}

其中:
str.size()可以返回一个str的长度

string str = "STR";
str.size(); //Return 3

getline(cin,str);读取一行字符串(不同于cin,cin会在读取空格后结束)

>>123 4
getline(cin,str); //123 4
cin>>str; //123

相关文章

  • C++ 字符数组 - 统计一段英文单词的平均长度

    题目如下: 1、求输入英文句子单词的平均长度。(以空格,逗号,感叹号,问号等符号隔开单词,最后以实心句号结束。)如...

  • 11.3 字符串和字符数组:缩短数组长度

    strlen()函数用于统计字符串的长度缩短数组长度 fit()函数把第39个元素的逗号替换成字符'\0',put...

  • GO学习笔记(3) - 字符串操作

    字符长度 len得到字符长度 ,utf8.RuneCountInString字符串长度 字符转数组与字节 字符编码...

  • java常用快捷操作方法总汇

    sql 1.数组转换成字符串 2.集合转换成字符串 将两个字符数组合并成一个新的字符数组。 统计员工人数、平均工资...

  • 一句话新闻

    推特公司统计发现,每条推文的平均长度是33个字符,也就是五六个单词。 据统计,2015年美国大学生每年平均花费1....

  • scala集合学习笔记

    列表 List 类似于数组 创建列表 获取元素,下标也从0开始 统计特定的元素的个数 统计其中字符串的长度大于2的...

  • C++ 学习笔记之——字符串和字符串流

    1. 字符数组 字符数组,也就是存放字符类型数据的数组,只不过字符数组的结尾必须是 '\0'。C++ 已经提供了一...

  • Redis源码

    一、Redis数据结构: SDS SDS(动态字符串)包含字符数组buf[],字符数组现有长度len,字符数组分配...

  • 字符数组长度和字符串长度

    1.字符数组长度和字符串长度 char a[] = "hello"; 输入内容如下,因为char数组会在末尾添加一...

  • 字符串

    1. 如何统计一行字符中有多少个单词? 先trim()去除前后的空格,然后利用空格分隔字符串,输出分隔后的数组长度...

网友评论

    本文标题:C++ 字符数组 - 统计一段英文单词的平均长度

    本文链接:https://www.haomeiwen.com/subject/wcjxgttx.html