How to write a C Program to Find the Smallest Number in an Array (One Dimensional Array)?. And also the index position of the smallest number in an Array.

Before going into this smallest number in an array in C article, Please refer to Array in C article to understand the concept of Array size, index position, etc.

## C Program to Find Smallest Number in an Array

In this C Program to find the smallest number in an array, we declared 1 One Dimensional Arrays **a[]** of size 10. We also declared i to iterate the Array elements, the Smallest variable to hold the smallest element in an Array. And the Position variable to hold the index position of the smallest element in an Array.

/*C Program to find Smallest Number in an Array*/ #include<stdio.h> int main() { int a[10], Size, i, Smallest, Position; printf("\nPlease Enter the size of an array \n"); scanf("%d",&Size); printf("\nPlease Enter %d elements of an array: \n", Size); for(i=0; i<Size; i++) { scanf("%d",&a[i]); } Smallest = a[0]; for(i=1; i<Size; i++) { if(Smallest > a[i]) { Smallest = a[i]; Position = i; } } printf("\nSmallest element in an Array = %d", Smallest); printf("\nIndex position of the Smallest element = %d", Position); return 0; }

**OUTPUT**

**ANALYSIS**

Within this C program to find the smallest number in an array, the below For loop helps to iterate each cell present in a[4] array. Condition inside the for loops (i < Size) will ensure the compiler, not to exceed the array limit.

scanf statement inside the for loop will store the user entered values in every individual array element such as a[0], a[1], a[2], a[3]

for(i=0; i<Size; i++) { scanf("%d",&a[i]); }

In the next line of C smallest number in an array, We assigned a[0] value to the Smallest variable.

Smallest = a[0];

In the next line, We have one more for loop. It is to iterate each element in an array. The If Statement finds the smallest Number in an Array by comparing each element against the Smallest value.

for(i=1; i<Size; i++) { if(Smallest > a[i]) { Smallest = a[i]; Position = i; } }

From the above C Program to Find Smallest Number in an Array example screenshot, you can observe that the user inserted values are

a[4] = {10, 6, 98, 45}

Largest = a[0] = 10

**First Iteration**

The value of i will be 1, and the condition (i < 4) is True. So, it will start executing the statements inside the loop until the condition fails.

If statement (Smallest > a[i]) inside the for loop is True because (10 > 6)

Smallest = a[i] = a[1]

Smallest = 6

Position = 1

**Second Iteration**

i = 2, and the condition (2 < 4) is True.

If statement (Smallest > a[i]) inside the for loop is False because (6 < 98) so, the smallest value will not be updated. It means

Smallest = 6

Position = 1

**C Program to Find Smallest Number in an Array – Third Iteration**

i = 3, and the condition (3 < 4) is True.

If statement (Smallest > a[i]) inside the for loop is False because (6 < 45). So smallest value will not be updated. It means

Smallest = 6

Position = 1

**Fourth Iteration**

After incrementing the value of i, i will become 5. So, the condition (i < Size) will fail, and the compiler will exit from the loop.

The below printf statement is to print the Smallest Number inside an Array. In this example, it is 6.

printf("\nSmallest element in an Array = %d", Smallest);

The below printf statement used to print the Index Position of the Largest Number inside an Array. In this example, it occurs at position 2

printf("\nIndex position of the Smallest element = %d", Position);