C program to reverse an array using an additional array, using swapping and by using a function. For example, if 'A' is an array of integers with three elements such that,
A[0] = 1, A[1] = 2, A[2] = 3
Then after reversing, the array will be
A[0] = 3, A[1] = 2, A[0] = 1
Reverse array C program
int main()
{
int n, c, d, a[100], b[100];
printf("Enter the number of elements in array\n");
scanf("%d", &n);
printf("Enter array elements\n");
for (c = 0; c < n ; c++)
scanf("%d", &a[c]);
// Copying elements into array b starting from the end of array a
for (c = n - 1, d = 0; c >= 0; c--, d++)
b[d] = a[c];
// Copying reversed array into the original, we are modifying the original array.
for (c = 0; c < n; c++)
a[c] = b[c];
printf("The array after reversal:\n");
for (c = 0; c < n; c++)
printf("%d\n", a[c]);
return 0;
}
Reverse array C program output:
Download Reverse array program.
Reverse array by swapping (without using additional memory)
int main() {
int array[100], n, c, t, end;
scanf("%d", &n);
end = n - 1;
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
for (c = 0; c < n/2; c++) {
t = array[c];
array[c] = array[end];
array[end] = t;
end--;
}
printf("Reversed array elements are:\n");
for (c = 0; c < n; c++)
printf("%d\n", array[c]);
return 0;
}
Reverse an array in C using a function
void reverse_array(int [], int);
int main()
{
int n, c, a[1000];
scanf("%d", &n);
for (c = 0; c < n; c++)
scanf("%d", &a[c]);
reverse_array(a, n);
printf("The array after reversal:\n");
for (c = 0 ;c < n; c++)
printf("%d\n", a[c]);
return 0;
}
void reverse_array(int a[], int n)
{
int c, t;
for (c = 0; c < n/2; c++) {
t = a[c]; // Swapping
a[c] = a[n-c-1];
a[n-c-1] = t;
}
}