C PROGRAMMING
MULTIPLE CHOICE QUESTION
OLD QUESTION BANK
SAMPLE QUESTION 2080 AND SOLUTION

1. C program to count number of alphabets, digits and special characters in string.


#include <stdio.h>
#define MAX_SIZE 100 // Maximum string size


int main()
{
    char str[MAX_SIZE];
    int alphabets, digits, others, i;

    alphabets = digits = others = i = 0;


    /* Input string from user */
    printf("Enter any string : ");
    gets(str);

    while(str[i]!='\0')
    {
        if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))
        {
            alphabets++;
        }
        else if(str[i]>='0' && str[i]<='9')
        {
            digits++;
        }
        else
        {
            others++;
        }

        i++;
    }

    printf("Alphabets = %d\n", alphabets);
    printf("Digits = %d\n", digits);
    printf("Special characters = %d", others);

    return 0;
}

2.C program to count total number of vowels and consonants in a string.


#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[MAX_SIZE];
    int i, len, vowel, consonant;

    /* Input string from user */
    printf("Enter any string: ");
    gets(str);

    vowel = 0;
    consonant = 0;
    len = strlen(str);

    for(i=0; i<len; i++)
    {
        if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))
        {

            if(str[i] =='a' || str[i]=='e' || str[i]=='i' || str[i]=='o' || str[i]=='u' || 
               str[i] =='A' || str[i]=='E' || str[i]=='I' || str[i]=='O' || str[i]=='U'  )
                vowel++;
            else
                consonant++;
        }
    }

    printf("Total number of vowel = %d\n", vowel);
    printf("Total number of consonant = %d\n", consonant);

    return 0;
}

3. C program to count number of words in a string.



#include <stdio.h>
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[MAX_SIZE];
    int i, words;

    /* Input string from user */
    printf("Enter any string: ");
    gets(str);

    i = 0;
    words = 1;

    while(str[i] != '\0')
    {
        /* If the current character(str[i]) is white space */
        if(str[i]==' ' || str[i]=='\n' || str[i]=='\t')
        {
            words++;
        }

        i++;
    }

    printf("Total number of words = %d", words);

    return 0;
}

4. C Program to find reverse of a string without using String Handling Function.


#include <stdio.h>
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[MAX_SIZE], reverse[MAX_SIZE];
    int i, strIndex, revIndex, len;

    /* Input string from user */
    printf("Enter any string: ");
    gets(str);

    /* Find length of string */
    i = 0;
    while(str[i] != '\0') i++;

    len = i;

    /* 
     * Store each character from end of original string 
     * to reverse string
     */
    revIndex = 0;
    strIndex = len - 1;
    while(strIndex >= 0)
    {
        reverse[revIndex] = str[strIndex];

        strIndex--;
        revIndex++;
    }
    reverse[revIndex] = '\0';

    printf("\nOriginal string = %s\n", str);
    printf("Reverse string = %s", reverse);

    return 0;
}

5. C program to check whether a string is palindrome or not without using string handling function.


#include <stdio.h>
#define MAX_SIZE 100 // Maximum string size

int main()
{
    char str[MAX_SIZE];
    int len, startIndex, endIndex;

    /* Input string from user */
    printf("Enter any string: ");
    gets(str);


    /* Find length of the string */
    len = 0;
    while(str[len] != '\0') len++;

    startIndex = 0;
    endIndex   = len-1;
    

    while(startIndex <= endIndex)
    {
        if(str[startIndex] != str[endIndex])
            break;

        startIndex++;
        endIndex--;
    }

    if(startIndex >= endIndex)
    {
        printf("String is Palindrome.");
    }
    else
    {
        printf("String is Not Palindrome.");
    }

    return 0;
}

6. C program to sort set(number) of string given by user in ascending (alphabetical) order.

#include<stdio.h>
#include<string.h>
int main(){
   int i,j,count;
   char str[25][25],temp[25];
   puts("How many strings u are going to enter?: ");
   scanf("%d",&count);

   puts("Enter Strings one by one: ");
   for(i=0;i<=count;i++)
      gets(str[i]);
   for(i=0;i<=count;i++)
      for(j=i+1;j<=count;j++){
         if(strcmp(str[i],str[j])>0){
            strcpy(temp,str[i]);
            strcpy(str[i],str[j]);
            strcpy(str[j],temp);
         }
      }
   printf("Order of Sorted Strings:");
   for(i=0;i<=count;i++)
      puts(str[i]);
   
   return 0;
}

7. C program to remove spaces, blanks from a string.


#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 100 // Maximum string size

/* Function declaration */
char * removeBlanks(const char * str);


int main()
{
    char str[MAX_SIZE];
    char * newString;

    printf("Enter any string: ");
    gets(str);

    printf("\nString before removing blanks: \n'%s'", str);

    newString = removeBlanks(str);

    printf("\n\nString after removing blanks: \n'%s'", newString);

    return 0;
}


/**
 * Removes extra blank spaces from the given string
 * and returns a new string with single blank spaces
 */
char * removeBlanks(const char * str)
{
    int i, j;
    char * newString;

    newString = (char *)malloc(MAX_SIZE);

    i = 0;
    j = 0;

    while(str[i] != '\0')
    {
        /* If blank space is found */
        if(str[i] == ' ')
        {
            newString[j] = ' ';
            j++;

            /* Skip all consecutive spaces */
            while(str[i] == ' ')
                i++;
        }

        newString[j] = str[i];

        i++;
        j++;
    }
    // NULL terminate the new string
    newString[j] = '\0';

    return newString;
}

8. Print the pattern

a) 

C

CO

COM

COMP

COMPU

COMPUT

COMPUTE

COMPUTER

#include<stdio.h>
int main()
{
  // variable
  char str[20];

  // take input
  printf("Enter a string: ");
  scanf("%[^\n]",str);

  // print pattern
  // outer loop for row
  for(int i=0; str[i]!='\0'; i++)
  {
    // inner loop for column
    for(int j=0; j<=i; j++)
    {
      // display
      printf("%c", str[j]); 
    }

    printf("\n"); // new line
  }

  return 0;
}

b)

H

HE

HEL

HELL

HELLO

HELL

HEL

HE

H

#include<stdio.h>
#include<stdlib.h>
int main()
{
   // variables
   char str[20];
   int len, place;

   // take input
   printf("Enter a string: ");
   scanf("%[^\n]", str);

   // find length of string
   for(len=0; str[len]!='\0'; len++);
   // actual length is length - 1
   len--;
 
   // outer loop for row
   for(int i=0; i<(2*len+1); i++)
   {
     // find the place
     if(i<len) place = i;
     else place = abs(2*len - i);

     // inner loop for column
     for(int j=0; j<=place; j++)
     printf("%c",str[j]); // print

     printf("\n"); // next line
   }

   return 0;
}

c) 

#include<stdio.h>
int main()
{
  // variable
  char str[20];
  int len;

  // take input
  printf("Enter a string: ");
  scanf("%[^\n]",str);

  // count number of characters
  for (len = 0; str[len]!='\0'; len++);

  // for first half
  for(int i=0; i<len; i++)
  {
    for(int j=0; j<len-i-1; j++)
    {
      printf(" "); // space
    }
    for(int j=0; j<=i; j++)
    {
      printf("%c", str[j]); // character
    }

    printf("\n"); // new line
  }

  // for second half
  for(int i=1; i<len; i++)
  {
    for(int j=0; j<i; j++)
    {
      printf(" "); // space
    }
    for(int j=i; j<len; j++)
    {
      printf("%c", str[j]); 
    }

    printf("\n"); // new line
  }
  
  return 0;
}

d)

#include<stdio.h>
int main()
{
   // variables
   char str[20];
   int n, a=0;

   // take input values
   printf("Enter a string: ");
   scanf("%[^\n]", str);
   printf("Enter number of rows: ");
   scanf("%d", &n);

   // outer loop for row
   for(int i=0;i<=n;i++)
   {
     // for space 
     for(int j=0;j<=n-i;j++) 
     printf(" "); // print space

     for(int k=0;k<=i;k++)
     {
        // print character
        printf("%2c", str[a++]);

        // if index reach end of string then again
        // it should start from initial characters
        if(str[a]=='\0') a=0;
     }

     printf("\n"); // new line
   }

   return 0;
}