C Program to find Smallest element in the array

Description

Get array size n and n elements of array, then find the smallest element among those elements.
Input:
5
5 7 9 3 1
Output:
1

Solution

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int *a,n,i,min;
	printf("Enter size of array:");
	scanf("%d",&n);

	a=malloc(sizeof(int)*n);
	printf("Enter %d Elements:",n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	
	min=a[0];
	
	for(i=1;i<n;i++)
	{
		if(a[i]<min)
		{
			min=a[i];
		}
		
	}

	printf("%d",min);
	return 0;		
}

Explanation

i is initialized to 0 and incremented by 1 at each iteration of both the for loops.

First for loop reads n input numbers from user and stores them in array a[] from location 0 to n-1

Initially assign the element located at 0 to max using min = a[0].

using second for loop visit each  location serially from 1 to n-1. if the element located in any position is lesser than min,  then assign the element as max by using min = a[i] 

finally min holds the minimum value in the list.