1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
sineoko [7]
3 years ago
13

How to write a function that counts the letters in a string in C?

Computers and Technology
1 answer:
stiv31 [10]3 years ago
3 0

Answer:

Here is the C function that counts the letters in a string:

int LetterCount(char string[]){  //function to count letters in a string passed as parameter

 string[100];  // char type string with size 100

  int i, letters;  // letter variable stores the count for no. of letters in string

   i = letters = 0;  //initialize variables i and letters to 0

  while (string[i] != '\0')  { // loop iterates through the entire string until end of string is reached

    if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z') )  { // if condition checks the letters in the string

     letters++;    }  // increments 1 to the count of letters variable each time a letter is found in the string

    i++;  }  //increments value of i to move one character forward in string

   printf("Number of Letters in this String = %d", letters);   // displays the number of letters in the string

   return 0; }                              

Explanation:

Here the question means that the function should count the letters in a string. So the letters are the alphabets from a to z and A to Z.

Here is the complete program:

#include <stdio.h>   // to use input output functions

int LetterCount(char string[]){  // method that takes a character string as parameter and counts the letters in the string

string[100];  

int i, letters;

i = letters = 0;

while (string[i] != '\0')   {

 if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z'))

   {letters++;  }

   i++; }

   printf("Number of Alphabets in this String = %d", letters);  

   return 0;}  

int main(){  // start of main function

  char string[100];  //declares a char array of string

   printf("Please Enter a String : ");   //prompts user to enter a string

  fgets(string,100,stdin);  //get the input string from user

   LetterCount(string); } // calls method to count letters in input string

I will explain this function with an example

Lets suppose the user input "abc3" string

string[100] = "abc3"

Now the function has a while loop that while (string[i] != '\0')  that checks if string character at i-th position is not '\0' which represents the end of the character string. As value of i = 0 so this means i is positioned at the first character of array i.e. 'a'

At first iteration:

i = 0

letter = 0

if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z') )   if condition checks if the character at i-th position of string is a letter. As the character at 0-th position of string is 'a' which is a letter so this condition evaluates to true. So the statement letter++ inside if condition executes which increments the letter variable to 1. So the value of letter becomes 1. Next statement i++ increments the value of i to 1. So i becomes 1. Hence:

i = 1

letter = 1

At second iteration:

i = 1

letter = 1

if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z') )  

if condition checks if the character at i-th position of string is a letter. As the character at 1st position of string is 'b' which is a letter so this condition evaluates to true. So the statements letter++ inside if condition and i++ executes which increments these variables to 1. Hence:

i = 2

letter = 2

At third iteration:

i = 2

letter = 2

if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z') )  

if condition checks if the character at i-th position of string is a letter. As the character at 2nd position of string is 'c' which is a letter so this condition evaluates to true. So the statements letter++ inside if condition and i++ executes which increments these variables to 1. Hence:

i = 3

letter = 3

At fourth iteration:

i = 3

letter = 3

if( (string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z') )  

if condition checks if the character at i-th position of string is a letter. As the character at 3rd position of string is '3' which is not a letter but a digit so this condition evaluates to false. So the statement letter++ inside if condition does not execute. Now i++ executes which increments this variable to 1. Hence:

i = 4

letter = 3

Now the loop breaks because while (string[i] != '\0') condition valuates to false as it reaches the end of the string.

So the statement: printf("\n Number of Letters in this String = %d", letters); executes which prints the value of letters on the output screen. Hence the output is:

Number of Letters in this String = 3

You might be interested in
Select all the lines that have a slope of 5/2
sweet-ann [11.9K]

Answer:

Add a picture, then ask the question again.

5 0
3 years ago
1. Trình bày các mô hình mối đe dọa trong hệ thống viễn thông
just olya [345]

Explanation:

please subscribe to my mom channel please

i request you

7 0
3 years ago
When a new user visits your proprietary site, what is typically the first method of interaction with them
Olin [163]

Answer:

Log file entry notifying you of new user activity

Explanation:

Log files are records of the timeline of activities in a computer system. These files contain information about new users of a site as well as the activities they performed on the site.

The internet protocol address of the visitor, the time of visit, as well as the features clicked on, or accessed by him, example, videos or images are all registered in the log file. The owner of the site can use the information sourced from the log files to perform site analytics.

5 0
3 years ago
When reading a ____ language, we use our understanding of the richness of the language's vocabulary to extract the meaning. geop
USPshnik [31]
When reading a FORMAL language
4 0
3 years ago
Write a program that contains the following two methods: /** Convert from feet to meters */ public static double footToMeter (do
mixer [17]
<h3><u>Complete Question:</u></h3>

Write a program that contains the following two methods:

/** Convert from feet to meters */

public static double footToMeter(double foot)

/** Convert from meters to feet */

public static double meterToFoot(double meter)

<em>The formula for the conversion is: meter = 0.305 * foot and foot = 3.279 * meter Write a test program that invokes these methods. PLEASE WRITE IN JAVA.</em>

<em />

<em />

<em />

<h3><u>Answer:</u></h3>

//Declare the class

public class Converter{

   

    //method footToMeter that receives the foot as parameter

    public static double footToMeter(double foot){

        //declare a double variable called meter,

        //to hold the result of the conversion

        double meter;

       

        //using the given formula, conver the foot to meter and

        //store the result in the meter variable

        meter = 0.305 * foot;

       

        //return the result stored in meter

        return meter;

    }

   

   

    //method meterToFoot that receives the meter as parameter

    public static double meterToFoot(double meter){

        //declare a double variable called foot,

        //to hold the result of the conversion

        double foot;

       

        //using the given formula, convert the meter to foot and

        //store the result in the foot variable.

        foot = 3.279 * meter;

       

        //return the result stored in foot.

        return foot;

    }

   

   

    //Test program to invoke those methods

    public static void main(String []args){

           

           //Convert 120 feet to meter

           System.out.println("120 feet to meter is " + footToMeter(120));

           

           //Convert 36 meters to foot

           System.out.println("36 meters to feet is " + meterToFoot(36));

    }

   

   

}  //End of class declaration

<h3><u>Sample Output:</u></h3>

120 feet to meter is 36.6

36 meters to feet is 118.044

<h3><u>Explanation</u>:</h3>

The above code has been written in Java and it contains comments explaining each line of the code. Please go through the comments.

There is also a sample output from the run of the code.

An screenshot containing the program and the output has also been attached to this response.

7 0
4 years ago
Other questions:
  • A _______ is used to analyze and summarize your data without graphical support. A. PivotChart B. PivotTable C. chart D. table
    8·1 answer
  • Assume you have a byte-addressable machine that uses 32-bit word (integers are 32-bit) and you are storing the following informa
    5·1 answer
  • A computer can function in the absence of software true or false​
    15·2 answers
  • In a penetration test, a ________ team consists of IT staff who defend against the penetration testers. They are generally aware
    14·1 answer
  • What type of photography is represented by a photograph of a dog on a beach ?
    11·1 answer
  • Can i get any information on this website i'd like to know what its for ?
    11·1 answer
  • Public class Dog
    7·1 answer
  • Heeeeeeeelp :)<br> thx<br> jfdyiusjmkdsuiho;dmcvrvho;j
    5·2 answers
  • A(n) ________ address is the address that external entities use when communicating with your network.
    11·1 answer
  • Write a short note on Ms - Excel...​..
    7·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!