Monday, May 18, 2015

C : Program to count spaces and tabs

In earlier post "Character counting in C", we have written a program to count number of characters, lets extend this further and count blanks, tabs and newlines.
 int main()   
 {   
   double char_count;   
   char input_char;   
   int tabs_count=0,spaces_count=0;   
   char input_val;   
    
   printf("\n Input a line to count spaces and tabs \n");   
    
   /* Reading a character */   
   input_char = getchar();   
    
   /* In a for loop read characters till end of line is encountered */   
   for(char_count = 0; input_char != '\n'; ++char_count)   
   {   
     /* Check if input character is a space */     
     if(input_char == ' ')   
     {   
       /* if space, increment space variable count */          
       ++spaces_count;     
     }      
     /* else if input character is a tab */   
     else if(input_char == '\t')   
     {   
       /* if tab increment tab count */             
       ++tabs_count;      
     }   
     /* Read next character to check if its space or tab */   
     input_char = getchar();       
   }   
    
   /* Finally print number of spaces and tabs read */   
   printf("\n Your input contains %d spaces, %d tabs \n",spaces_count,tabs_count);   
    
   return 0;    
 }  
   
In above program,
  • We read a character
  • In a for loop till end of line is encountered, we check each character entered is a space (' ') or tab('\t').
  • Increment spaces_count and tabs_count variables accordingly
  • Finally when new line is encountered, we print the space count and tab count.
Output of this program :
 mrtechpathi@mrtechpathi:~/Study/C/K_and_R$ ./a.out   
   
  Input a line to count spaces and tabs   
 will be giving a tab now     just one tab behind  
   
  Your input contains 9 spaces, 1 tabs  

No comments:

Post a Comment