单词的长度(word)

毕设项目助手 论文问答 1

输入若干个单词,输出它们的平均长度。单词只包含大写字母和小写字母,用一个或多个空格隔开。 (提示:全球最长英语单词长达189819个字母。) 输入 一行,若干个单词的句子,单词只包含大写字母和小写字母,用一个或多个空格隔开。 输出 所有单词的平均长度,保留一位小数。 样例输入 John reed was a schoolboy of fourteen years old 样例输出 4.3

回复

共4条回复 我来回复
  • 毕设驿站
    这个人很懒,什么都没有留下~
    评论
    #include <stdio.h>
    #include <ctype.h>
    int main()
    {
        int word = 0, word_len = 0;
        float total_len = 0;
        char ch = getchar();
        do
        {
            if (isalpha(ch))
            {
                do
                {
                    word_len++;
                    ch = getchar();
                } while (ch != EOF && isalpha(ch));
                word++;
                total_len += word_len;
                word_len = 0;
            }
            else
            {
                do
                {
                    ch = getchar();
                } while (ch != EOF && !isalpha(ch));
            }
        } while (ch != EOF);
        printf("%.1f", (float)total_len / (float)word);
        return 0;
    }
    
    0条评论
  • 毕设工厂
    这个人很懒,什么都没有留下~
    评论
    //3-2单词的长度 
    #include<stdio.h>
    #include<ctype.h>
    #define MAXN 1000
    char a[MAXN];
    int main()
    {
        char ch;
        int i=0,j=0,m=0,n=0;
        while(1)
        {
            scanf("%c",&ch);
            if(ch=='\n')
            {
                break;
            }
            else
            a[i++]=ch;
        }
        for(j=0;j<=i;j++)
        {
            if(a[j]==' ' && isalpha(a[j+1]) )
                n++;
            if(isalpha(a[j]))
                m++;  
        }
        double t;
        printf("Avarage length is %lf\n",(double)m/(n+1));
        return 0; 
    } 
    
    0条评论
  • 源码客栈
    这个人很懒,什么都没有留下~
    评论
    //3-2单词的长度 
    #include<stdio.h>
    #include<ctype.h>
    #define MAXN 1000
    char a[MAXN];
    int main()
    {
        char ch;
        int i=0,j=0,m=0,n=0;
        while(1)
        {
            scanf("%c",&ch);
            if(ch=='\n')
            {
                break;
            }
            else
            a[i++]=ch;
        }
        for(j=0;j<=i;j++)
        {
            if(a[j]==' ' && isalpha(a[j+1]) )
                n++;
            if(isalpha(a[j]))
                m++;  
        }
        double t;
        printf("%.1lf\n",(double)m/(n+1));
        return 0; 
    }
    
    0条评论
  • 毕业设计驿站
    这个人很懒,什么都没有留下~
    评论

    可以换位思考 计算整个字符串长度 计算字符串中空格个数 空格个数+1就是单词数 长度-空格数 / 单词数 记得去浮点型 就是结果 比如这个测试样例 长度47 空格数8 (47-8) / (8+1) 39 / 9 4.33333保留以为小数 4.3

    0条评论

发表回复

登录后才能评论