File Handling in C Exercises and Solutions


File handling is used to create, delete, read and update the files. In simple words using File handling in C programming we can perform create, update, read and delete operations.

There are many functions in C file handling(library) like fopen(), fprintf(), fscanf() and many more....

There are many functions in c library. A list of some file handling functions are shown in below table.

  File handling functions in C:


File handling funtions table in C, file handling functions in c



Below table shows the file opening modes in C: 


File opening modes in c programming, file handling file opening modes in c



In this tutorial we will learn file handling with some file handling exercises and examples. So let's get started......😃



  Exercises and Examples of File Handling in C:










If you like these file handling exercises, then please share them with your friends and colleagues.

C Pattern Programming Exercises and Examples


In this tutorial you will find lot of pattern programming exercises and examples. Pattern programming exercises manly used to enhance the logic of programmer, by solving this programs you can easily increase your logical thinking ability or also it will increase your loops and if-else statements knowledge.


  Pattern programming Exercises and there solutions:


1. Star pattern programs.

2. Number pattern programs.



Thank you for visiting us....... keep visiting. Learn our more C programming exercises with their solutions.....😊

C Number Pattern Programming Exercises & Examples

Number patterns in C examples, Number pattern exercises in C

In this tutorial you will learn number pattern programs with there solutions. You can practice it to enhance your programming logic. I hope this exercises will help you to understand working of looping statements, if-else statements and more.


  Quick links:




  Exercises and examples of number pattern's in C:


1. Write a C program to print square number pattern 1.















                     


Keep visiting, keep learning......😊
Happy Coding... :)

C Program to Print Number Heart Pattern

Ex:  Write a C program to print number heart pattern, which shows the steps to print pattern. How to write a C program to print number heart pattern, which shows steps to print pattern . C program to print number heart pattern which shows steps to print pattern.



Input from user:

Enter the number: 5


Expected output:

  11      22

1111  2222

333333333

  3333333

    33333

      333

        3



This pattern is same as previous exercises star heart pattern.


Only difference is:

In this pattern we only need to replace the * with numbers 1, 2 and 3

This number's also shows the steps to print this pattern.



  Program to print number heart pattern:


#include<stdio.h>

void main()

{

int no,z;

int i,j,k;

printf("Enter the number:\n");

scanf("%d",&no);

/*To print upper part*/

z=no*2;

for(i=no/2;i<=no;i=i+2)

{

/*To print left peak */

for(j=1;j<no-i;j=j+2)

{

                    printf(" ");

}

for(k=1;k<=i;k++)

{

                   printf("1");

}

/*To print right peak*/

for(j=1;j<=no-i;j++)

{

    printf(" ");

}

for(k=1;k<=i;k++)

{

printf("2");

}

printf("\n");

}

/*To print lower part means inverted triangle*/

for(i=1;i<=no;i++)

{

for(j=1;j<i;j++)

{

printf(" ");

}

for(k=1;k<z;k++)

{

printf("3");

}

z-=2;

printf("\n");

}

}



Above program shows the following output:


C Program to Print Number Heart Pattern



C Program to Print Diamond Number Pattern

Ex: Write a C program to print diamond number pattern. How to write a C program to print diamond number pattern. C program to print diamond number pattern.


Input from user:

Enter the number: 5


Expected output:

              1

            1  2

          1  2  3

        1  2  3  4

      1  2  3  4  5

        1  2  3  4

          1  2  3

            1  2

              1




  Step by step logic of the given:


For better understanding i have devided this code in two parts.


To print upper half part:

              1

            1  2

          1  2  3

        1  2  3  4

      1  2  3  4  5


1. Accept input number from user.


2. Run outer for loop from  1 to no which shows rows in pattern:

for(i=1;i<=no;i++)


3. Run inner for loop from i to no-1 to print spaces:

for(j=i;j<no;j++)

{

printf(" ");

}


4. Run another inner for loop from 1 to i which shows columns in pattern:

for(k=1;k<=i;k++)


5. Inside the second inner for loop print value of k with one space:

printf("%d ",k);


6. After that outside the block of  inner for loop print next line \n for print new row.



To print lower half part:


        1  2  3  4

          1  2  3

            1  2

              1


1. Run outer loop from 1 to no-1 which shows rows in pattern:

for(i=1;i<no;i++)


2. Run inner for loop from 1 to i to print spaces:

for(j=1;j<=i;j++)

{

        printf(" ");

}


3. Run another one inner for loop from 1 to no-i and inside the loop print value of  k :

for(k=1;k<=no-i;k++)

{

        printf("%d ",k);

}


4. Last print \n for new row.




  Program to print diamond number pattern:


#include<stdio.h>

void main()

{

int no,i,j,k;

printf("Enter the number:");

scanf("%d",&no);

/*To print upper part*/

for(i=1;i<=no;i++)

{

for(j=i;j<no;j++)

{

printf(" ");

}

for(k=1;k<=i;k++)

{

printf("%d ",k);

}

/*For next row*/ printf("\n");

}

     /*To print lower part*/

     for(i=1;i<no;i++)

     {

         for(j=1;j<=i;j++)

         {

         printf(" ");

         }

         for(k=1;k<=no-i;k++)

         {

         printf("%d ",k);

         }

     /*For next row*/

     printf("\n");

     }

}


Above program shows the following output:


C program to print diamond number pattern, Star pattern programs in C




C program to print full pyramid number pattern

Ex: Write a C program to print full pyramid number pattern. How to write a C program to print full pyramid number pattern. C program to print full pyramid number pattern.


Input from user:

Enter the number: 5


Expected output:

        1

      123

    12345

  1234567

123456789


C program to print inverted half right side of pyramid number pattern

Ex: Write a C program to print inverted half right side of pyramid number pattern. How to write a C program to print inverted half right side of pyramid number pattern. C program to print inverted half right side of pyramid number pattern.


Input from user:

Enter the number:

5


Expected output:

12345

1234

123

12

1



  Step by step logic of the given program:


1. Accept input number from user declare variable say no.


2. Run outer for loop from 1 to no which shows rows in pattern:

for(i=1;i<=no;i++)


3. Run inner for loop from 1 to (no+1)-i which shows columns in pattern:

for(j=1;j<=(no+1)-i;j++)


4. Inside the inner loop print value of j :

printf("%d",j);


5. For next row print \n.




  Program to print inverted half right side of pyramid number pattern:


#include<stdio.h>

void main()

{

int i,j,no;

printf("Enter the number:\n");

scanf("%d",&no);

/*Run outer loop from 1 to no*/

for(i=1;i<=no;i++)

{   

  /*Run inner loop from 1 to (no+1)-i*/

for(j=1;j<=(no+1)-i;j++)

{

/*Print value of j*/ printf("%d",j);

}

/*For next row*/ printf("\n");

}


}



Above program shows the following output:


C program to print inverted half right side of pyramid number pattern







C program to print inverted half left side of the pyramid number pattern

Ex: Write a C program to print inverted half left side of the pyramid number pattern. How to write a C program to print inverted half left side of the pyramid number pattern. C program to print inverted half left side of the pyramid number pattern.



Input from user:

Enter the number:

5


Expected output:

12345

  1234

    123

      12

        1



  Step by step logic of the given program:


1. Accept input number from user declare variable say no.


2. Run outer for loop from 1 to no which shows number of rows:

for(i=1;i<=no;i++)


3. Run inner for loop from 1 to i-1 to print spaces: 

for(j=1;j<i;j++)

{

printf(" ");

}


4. Run another one inner for loop from 1 to (no+1)-i to print star:

for(k=1;k<=(no+1)-i;k++)

{

printf("%d",k);

}


5. For next row print \n.



  Program to print inverted half left side of the pyramid number pattern:


#include<stdio.h>

void main()

{

int i,j,k,no;

printf("Enter the number:\n");

scanf("%d",&no);

/*Run loops*/

for(i=1;i<=no;i++)

{

     /* Print spaces from second row, in incremented manner*/

for(j=1;j<i;j++)

{

printf(" ");

}

     /* Print numbers in decremented manner*/

for(k=1;k<=(no+1)-i;k++)

{

printf("%d",k);

}


        /* For next row*/

printf("\n");

}


}



Above program shows the following output:


C program to print inverted half left side of the pyramid number pattern



C program to print half left side of pyramid number pattern

Ex: Write a C program to print half left side of pyramid number pattern. How to write a C program to print half left side of pyramid number pattern. C program to print half left side of pyramid number pattern.


Input from user: 

Enter the number: 5


Expected output:

         1

       12

     123

   1234

 12345



  Step by step logic of the given program:


This pattern is same as previous exercises star pattern:

         *

       **

     ***

   ****

 *****


Difference is:

In this pattern we only need to replace the * with value of .


1. Accept input number from user declare variable say no.


2. Run outer loop from 1 to no which shows the number of rows in pattern:

for(i=1;i<=no;i++)


3. Run first inner loop from i to no-1 to print spaces:

for(j=i;j<no;j++)

{

printf(" ");

}


4. Run second inner loop from 1 to i and print value of k:

for(k=1;k<=i;k++)

{

        printf("%d",k);

}


5. For next row print \n.



  Program to print half left side of pyramid number pattern:


#include<stdio.h>

void main()

{

int no,i,j,k;

printf("Enter the number:\n");

scanf("%d",&no);

/*Run loops*/

for(i=1;i<=no;i++)

{

    for(j=i;j<no;j++)

{

  /*Print spaces*/

    printf(" ");

}

for(k=1;k<=i;k++)

{

/*Print value of k*/    

                 printf("%d",k);

}

/*For new row*/ printf("\n");


}


}



Above program shows the following output:


C program to print half left side of pyramid number pattern



C program to print half right side of pyramid number pattern

Ex: Write a C program to print half right side of pyramid number pattern. How to write a C program to print half right side of pyramid number pattern. C program to print half right side of pyramid number pattern. 


Input from user:

Enter the number: 5


Expected output:

1

12

123

1234

12345



  Step by step logic of the given program:


This pattern is same as previous exercises star pattern:

*

**

***

****

*****


Difference is:

In this pattern we only need to replace the * with value of j .


1. Accept input number from user declare variable say no.


2. Run outer for loop from 1 to no which shows rows in pattern:

for(i=1;i<=no;i++)


3. Run inner for loop from 1 to  i which shows columns in pattern:

for(j=1;j<=i;j++)


4. Inside the inner loop print value of j :

printf("%d",j);


5. For next row print \n.




  Program to print half right side of pyramid number pattern:


#include<stdio.h>

void main()

{

int no,i,j;

printf("Enter the number: ");

scanf("%d",&no);

/*Run outer loop from 1 to no*/

for(i=1;i<=no;i++)

{

for(j=1;j<=i;j++)

{

/*Print value of j*/ printf("%d",j);

}

/*For new row*/ printf("\n");

}

}


Above program shows the following output:


C program to print half right side of pyramid number pattern



C program to print inverted pyramid number pattern

Ex: Write a C program to print inverted pyramid number pattern. How to write a C program to print inverted pyramid number pattern. C program to print inverted pyramid number pattern.


Input from user:

Enter the number: 5


Expected output:

      1  2  3  4  5

        1  2   3  4

          1   2  3

             1  2

               1




  Step by step logic of the given program:


1. Accept input(number) from user which shows number of rows, declare variable say no.

2. Run one outer  loop from 1 to no:
  for(i=1;i<=no;i++)

3. To print spaces run another for loop from 1 to i-1:
for(j=1;j<i;j++)
  printf(" ");
    

4. To print value of k use another one inner for loop from 1 to (no+1)-i:
for(k=1;k<=(no+1)-i;k++)
  {
  printf("%d ",k);
  }
    

5. For new row, move to next line using \n.





  Program to print inverted pyramid number pattern:


#include<stdio.h>
void main()
{
 int no,i,j,k;
 
 printf("Enter the no:\n");
 scanf("%d",&no);
 /*Run outer loop from 1 to no*/
 for(i=1;i<=no;i++)
 {   
   /*Run inner loop from 1 to i-1 to print spaces*/
  for(j=1;j<i;j++)
  {
  printf(" ");
  }
  /*Run another inner loop from 1 to (no+1)-i*/
  for(k=1;k<=(no+1)-i;k++)
  {
   /*print value of k with one space*/
  printf("%d ",k);
  }
  /*For next row*/
 printf("\n");
 }

}


Above program shows the following output:

C program to print inverted pyramid number pattern



C program to print number pyramid pattern

Ex: Write a C program to print number pyramid pattern. How to write a C program to print number pyramid  pattern. C program to print number pyramid pattern.


Input from user:

Enter the number: 5


Expected output:

             1

           1  2

         1  2  3

       1  2  3  4

     1  2  3  4  5



  Step by step logic of the given program:


This pattern is same as previous exercises star pyramid pattern:

       *

      **

     ***

    ****

   *****


Difference is:

In this pattern we only need to replace the * with value of .


1. Accept input number from user.

2. Run outer for loop from  1 to no which shows rows in pattern:

for(i=1;i<=no;i++)

3. Run inner for loop from i to no-1 to print spaces:

for(j=i;j<no;j++)

{

printf(" ");

}

4. Run another inner for loop from 1 to i which shows columns in pattern:

for(k=1;k<=i;k++)

5. Inside the second inner for loop print value of k with one space:

printf("%d ",k);

6. After that outside the block of  inner for loop print next line \n for print new row.



  Program to print number pyramid pattern :


#include<stdio.h>
void main()

{

	int no,i,j,k;

	printf("Enter the number:");

	scanf("%d",&no);

	for(i=1;i<=no;i++)

	{

		for(j=i;j<no;j++)

		{

		/*Print spaces*/

		printf(" ");

      		}

		for(k=1;k<=i;k++)

		{

		/*print value of k with one space...to print it like a pyramid*/

		printf("%d ",k);

		}

		/*For next row*/
        	printf("\n");

	}


}




Above program shows the following output:


C program to print number pyramid pattern, number pyramid pattern, number patterns in C



C Program to Print Hollow Square Number Pattern with Diagonals

Ex: Write a C program to print hollow square number pattern with diagonal. How to write a C program to print hollow square number pattern with diagonal. C program to print hollow square number pattern with diagonal.


Input from user:

Enter the number: 9


Expected output:

C program to print hollow square number pattern with diagonals





  Step by step logic of the given program:


To understand this pattern, first you need to understand previous exercises hollow square number pattern.


1. Accept input number from user declare variable say no.


2. Run outer loop from 1 to no, which shows rows in pattern.


3.

Run inner loop from 1 to no 

to print columns in pattern.


4. Inside the inner loop using if statement give conditions to print number:

if(i==1||i==no||j==1||j==no||j==ic||j==dc)


5. Otherwise print spaces.


6. Outside the block of inner for loop, print newline \n.




  C program to print hollow square number pattern with diagonal:


#include<stdio.h>

void main()

{

int no,i,j;

int ic=1,dc;

printf("Enter the number:");

scanf("%d",&no);

dc=no;

for(i=1;i<=no;i++)

{

for(j=1;j<=no;j++)

{

/*Give conditions to print value of j*/                                  if(i==1||i==no||j==1||j==no||j==ic||j==dc)

  {

  printf("%d",j);

  }

  else

  {

  /*To print spaces*/

                  printf(" ");

  }

}

ic++;

dc--;

/*for next row*/

        printf("\n");

}

}



Above program shows the following output:


C program to print hollow square number pattern with diagonals