# C Program calculates the sum & average of an array

In the previous tutorial, we have  seen the array definition, declaration, initialization and access array values. Now we use the array to solve real-life math problems.

## C Program calculates the sum & average of an array:

In this program, you can able to calculate sum & average of an array. Including classified positive and negative sum.

```#include <stdio.h>

void main()
{
int array[10];
int i, num, negative_sum = 0, positive_sum = 0;
float total = 0.0, average;
clrscr();
printf ("Enter the value of N \n");
scanf("%d", &num);
printf("Enter %d numbers (-ve, +ve and zero) \n", num);
for (i = 0; i < num; i++)
{
scanf("%d", &array[i]);           //Inseting value into array
}
printf("Input array elements \n");
for (i = 0; i < num; i++)
{
printf("%+3d\n", array[i]);
}

/* Summation starts here*/

for (i = 0; i < num; i++)
{
if (array[i] < 0)
{
negative_sum = negative_sum + array[i];    // Calculate nevative sum
}
else if (array[i] > 0)
{
positive_sum = positive_sum + array[i];    // Calculate positive sum
}

total = total + array[i] ;
}
average = total / num;
printf("\n Sum of all negative numbers = %d\n", negative_sum);
printf("Sum of all positive numbers = %d\n", positive_sum);
printf("\n Average of all input numbers = %.2f\n", average);
getch();
}```

Output:

## C Program to Calculate the Sum of the Array Elements using Pointer:

A pointer is an object, whose value refers to another value stored elsewhere in the computer memory using its memory address. in this program, we use a pointer *ptr (pointer is declared by using * sign) which store initial address of numArray[].

```#include<stdio.h>
#include<conio.h>

void main()
{
int numArray[10];
int i, sum = 0;
int *ptr;

printf("\nEnter 10 elements : ");

for (i = 0; i < 10; i++)
scanf("%d", &numArray[i]);   //Accept the 10 elements from the user in the array.

ptr = numArray; // a=&a[0] We are storing the address of the array into the pointer.

for (i = 0; i < 10; i++)
{
sum = sum + *ptr;
ptr++;
}

printf("The sum of array elements : %d", sum);
}```

Output:

## C Program to Calculate Sum of all Elements of an Array using Pointers as Arguments:

One of the best things about pointers is that they allow functions to alter variables outside of their own scope. By passing a pointer to a function you can allow that function to read and write to the data stored in that variable. In this program, we use a pointer (*ptr) to catch an array address which passes through a function argument (addnum()).

```#include <stdio.h>
void main() {
int array[5] = { 100, 300, 800, 400, 1000 } ;

int sum;
clrscr();

printf("Sum of all array elements = %d\n", sum);
getch();
}
int index, total = 0;
for (index = 0; index < 5; index++) {
total += *(ptr + index);
}
return(total);
}```

Output:

The following two tabs change content below.

#### Subroto Mondal

Chief Coordinator HR&CR
I like Programming and New Technologies. And work with Linux.

## One thought on “C Program calculates the sum & average of an array”

This site uses Akismet to reduce spam. Learn how your comment data is processed.