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
A​ ___________ identifies the content and purpose of the​ visual, along with whatever label and number​ you're using to refer to
Westkost [7]

Answer:Title

Explanation: Title is basically considered as the "heading" or the "topic" that is used for giving the hint about the content or visual. In context with the visual ,which is the piece of display where title determines about the reason of visual and also hints about the content .It also gives the reference number that a person assign to the visual.

7 0
3 years ago
A peripheral can be used to tell a computer to complete a specific task.<br> A) True <br> B)False
RoseWind [281]

Answer:

A. true

Explanation:

<em><u>because</u></em><em><u> </u></em><em><u>you</u></em><em><u> </u></em><em><u>can</u></em><em><u> </u></em><em><u>complete</u></em><em><u> </u></em><em><u>it</u></em><em><u> </u></em><em><u>without it</u></em><em><u> </u></em><em><u>mistakes</u></em><em><u> </u></em><em><u>if</u></em><em><u> </u></em><em><u>your</u></em><em><u> </u></em><em><u>using</u></em><em><u> </u></em><em><u>an</u></em><em><u> </u></em><em><u>computer</u></em><em><u> </u></em><em><u>but</u></em><em><u> </u></em><em><u>if</u></em><em><u> </u></em><em><u>you</u></em><em><u> </u></em><em><u>use</u></em><em><u> </u></em><em><u>an</u></em><em><u> </u></em><em><u>paper</u></em><em><u> </u></em><em><u>you</u></em><em><u> </u></em><em><u>will</u></em><em><u> </u></em><em><u>make</u></em><em><u> </u></em><em><u>mistakes</u></em><em><u> </u></em><em><u>over</u></em><em><u> </u></em><em><u>and</u></em><em><u> </u></em><em><u>over</u></em>

8 0
3 years ago
Distinguished between
VladimirAG [237]

Answer:

this one is not understandable you see but I think it's better than nothing to do with it tmzr I don't know what to say to someone who did you start the morning and you can not be able to get it to

4 0
3 years ago
Which type of function distill the information contained within a file (small or large) into a single fixed-length number, typic
Luda [366]
As far as I remember, message-digest functions distill the information contained within a file (small or large) into a single fixed-length<span>number, typically between 128 and 256 bits in length. This function is designed to protect the integrity of a piece of data to define changes to any part of a message.</span>
7 0
4 years ago
in a famous experiment a dog drool at a sound that is made just before meals. This is considered a(n)-------------------- respon
nataly862011 [7]

Answer:

Conditioned response

Explanation:

In a famous experiment a dog drool at a sound that is made just before meals. This is considered a(n) conditioned response.

The dog has been conditioned to respond to the constant sound before his meal is served by drooling(salivating ) with the expectation of eating almost immediately after the sound had been made .

4 0
3 years ago
Other questions:
  • Jesse purchases a new smartphone and is immediately able to use it to send a photo over the Internet to a friend who lives in a
    12·1 answer
  • The house had a wonderful pool of ... (his/its/our) own.​
    5·1 answer
  • Which expense is a bank least likely to extend a line of credit for?
    13·2 answers
  • Which of the following function headings arevalid? If they are invalid, explain why.
    12·1 answer
  • What are static components in a multimedia system?
    15·2 answers
  • If nothings faster than light then how do the dark get there first????
    5·2 answers
  • If you define a destructor, are you required to define an operator '=' and a copy constructor?
    9·1 answer
  • The term structure, as it relates to programming, refers to the decisions you make to design your program to best meet its objec
    11·1 answer
  • Lee has changed the style of his table to make the header row stand out. Next, he wants to center the text in the header row and
    11·2 answers
  • Evaluate and compare free and commercial versions of the Avast antivirus software
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!