Computer >> Máy Tính >  >> Lập trình >> lập trình C

Viết chương trình C để tính độ dài từ trung bình của một câu bằng vòng lặp while

Vấn đề

Nhập một câu tại thời điểm chạy và viết mã để tính độ dài trung bình của các từ có trong một câu

Giải pháp

Thuật toán

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

Chương trình

#include<stdio.h>
#include<string.h>
double calculatewordlength(const char *stmt);
int main(){
   char stmt[100];
   int i=0;
   double avglen;
   printf("enter any statement:");
   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;
}

Đầu ra

enter any statement:Tutorials Point is the best resource for online education average length of word: 5.444444444.