w3resource

C Exercises: Find out the maximum difference between any two elements

C Array: Exercise-69 with Solution

Write a program in C to find the maximum difference between any two elements such that the larger element appears after the smaller number.

Pictorial Presentation:

C Exercises: Find out the maximum difference between any two elements.

Sample Solution:

C Code:

#include <stdio.h>
 
int maxDifference(int arr1[], int n)
{
    int i;
    int min_element=arr1[0];
    int diff=arr1[1]-arr1[0];
    for(i=1;i<n;i++)
    {
        if(arr1[i]-min_element>diff)
        {
            diff=arr1[i]-min_element;
            printf("The elements which provide maximum difference is: %d,   %d\n", min_element,arr1[i]);
            
        }
        if(arr1[i]<min_element)
            min_element=arr1[i];
    }
    return diff;
}

int main()
{
  int arr1[] =  { 7, 9, 5, 6, 13, 2 };
     int n = sizeof(arr1) / sizeof(arr1[0]);
     int i;  
	//------------- print original array ------------------	
	printf("The given array is :  ");
	for(i = 0; i < n; i++)
	{
	printf("%d  ", arr1[i]);
    } 
	printf("\n");
//------------------------------------------------------   

  printf("The Maximum difference between two elements in the array is:  %d",  maxDifference(arr1, n));
  getchar();
  return 0;
}

Sample Output:

The given array is :  7  9  5  6  13  2  
The elements which provide maximum difference is: 5,   13
The Maximum difference between two elements in the array is:  8 

Flowchart:

Flowchart: Find out the maximum difference between any two elements

C Programming Code Editor:

Improve this sample solution and post your code through Disqus.

Previous: Write a program in C to return maximum sum such that no two elements are adjacent.
Next: Write a program in C to find two numbers that occur odd number of times in an array.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

C Programming: Tips of the Day

C Programming - What is the argument for printf that formats a long?

Put an l (lowercased letter L) directly before the specifier.

unsigned long n;
long m;

printf("%lu %ld", n, m);

Ref : https://bit.ly/3dIwfkP