编写一个C程序以使用while循环计算句子的平均单词长度

问题

在运行时输入一个句子并编写代码以计算句子中存在的单词的平均长度

解决方案

算法

START
Step 1: declare character, int and double variables
Step 2: Enter any statement
Step 3: while loop
       Check condition stmt[i]=getchar()) != '\n'
       True then enter into loop
       Increment I and call the function at step 5
Step 4: Print the average length return by function
       From step 5
Step 5: called function calculatewordlength
         i. declare and initialize
            charcount=0 and wordcount=1
         ii. while loop
            check condition (*stmt != '\n')
            if it trues enter into loop
            1.    if(*stmt != ' ')
            2.    charcount++;
            3.    else if(*stmt == ' ')
            4.    wordcount++;
            5.    stmt++;
         iii. return (double)charcount/wordcount;
STOP

程序

#include<stdio.h>
#include<string.h>
double calculatewordlength(const char *stmt);
int main(){
   char stmt[100];
   int i=0;
   double avglen;
   printf("输入任何语句:");
   while((stmt[i]=getchar()) != '\n')
      i++;
   stmt[i]='\n';
   avglen=calculatewordlength(stmt);
   printf("average length of word is:%f.\n ", avglen);
}
double calculatewordlength(const char *stmt){
   int charcount=0;
   int wordcount=1;
   while(*stmt != '\n'){
      if(*stmt != ' ')
         charcount++;
      else if(*stmt == ' ')
         wordcount++;
      stmt++;
   }
   return (double)charcount/wordcount;
}
输出结果
输入任何语句:nhooo.com is the best resource for online education average length of word: 5.444444444.