C Program to delete an element from an array

Problem Statement

Write a program in C to delete an element from an array.

How to delete an element from an array in C ?

#include <stdio.h> 
int main() 
{ 
    int  a[25]; 
    int  i, num, pos, x, flag = 0; 
  
    printf("Please enter number of elements\n"); 
    scanf("%%d", &num); 
  
    printf("Enter the elements one by one\n"); 
    for(i=0; i<num; i++) 
    { 
          scanf("%%d", &a[i]); 
    } 
  
    printf("Input array elements:\n"); 
    for(i=0; i<num; i++) 
    { 
         printf("%%d\n", a[i]); 
    } 
  
    printf("Enter the element to be deleted\n"); 
    scanf("%%d",&x); 
  
    for(i=0; i<num; i++) 
    { 
          if ( a[i] == x) 
          { 
               flag = 1; 
               pos = i; 
               break; 
         } 
    } 
  
    if (flag == 1) 
    { 
         for(i=pos; i< num-1; i++) 
         { 
              a[i] = a[i+1]; 
         } 
  
         printf("Array elements (list) after deleting %%d:\n",x); 
         for(i=0; i<num-1; i++) 
         { 
               printf("%%d\n",a[i]); 
         } 
    } 
    else 
         printf("Element %%d is not found in the list\n", x); 
  
    return 0; 
}