Code:
#include <stdio.h>
#include <math.h>
#define SIZE 25
float std_dev(float a[], int n);
float mean(float a[], int n);
float variance(float a[], int n);
int median(float a[], int n);
float mode(float a[], int n);
int main(void)
{
int ch;
float value[SIZE];
int i;
printf("\t\t\t\t****MAIN MENU****");
printf("\n\t\t\t\t-----------------");
printf("\n\t\t\t\t1. Calculate Number of Items");
printf("\n\t\t\t\t2. Calculate Median");
printf("\n\t\t\t\t3. Calculate Mode");
printf("\n\t\t\t\t4. Calculate Mean");
printf("\n\t\t\t\t5. Calculate Variance");
printf("\n\t\t\t\t6. Calculate Standard Deviation\n");
printf("\n\t\t\t\t7. Calculate ALL\n");
printf("\n\t\t\t\t-----------------");
printf("\n\n\t\t\tEnter your choice : ");
scanf("%d", &ch);
switch(ch)
{
case 1:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("Number of items : %d\n", i);
break;
case 2:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\nMedian : %d\n",median(value,SIZE));
break;
case 3:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\nMode : ");
break;
case 4:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\nMean : %.3f\n",mean(value,SIZE));
break;
case 5:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\nVariance : %.3f\n",variance(value,SIZE));
break;
case 6:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\nStandard Deviation : %.3f\n",std_dev(value,SIZE));
break;
case 7:
printf("Enter %d float values\n", SIZE);
for(i=0; i<SIZE; i++)
scanf("%f", &value[i]);
printf("\n\nNumber of items : %d\nMedian : %d\nMode : \nMean : %.3f\nVariance : %.3f\nStandard Deviation : %.3f\n",i,median(value,SIZE),mean(value,SIZE),variance(value,SIZE),std_dev(value,SIZE));
default:
break;
}
}
int median(float a[], int n)
{
int i,j;
float t,median;
for(i=1; i<=n-1; i++)
{
for(j=1; j<n-i; j++)
{
if (a[j] <= a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
else
continue;
}
}
for(i=1; i<=n; i++)
printf("\n%f ",a[i]);
if(n%2 == 0)
median = (a[n/2] + a[n/2+1])/2.0;
else
median = a[n/2 + 1];
return(median);
}
float mean(float a[], int n)
{
int i;
float sum = 0.0, mean;
for(i=0; i<n; i++)
sum = sum + a[i];
mean = sum/((float)n);
return(mean);
}
float variance(float a[], int n)
{
int i;
float sum = 0.0, mean, variance, sumsqr, deviation;
for(i=0; i<n; i++)
sum = sum + a[i];
mean = sum/((float)n);
for(i=1; i<=n; i++)
{
deviation = a[i] - mean;
sumsqr += deviation*deviation;
}
variance = sumsqr/(float)n;
return(variance);
}
float std_dev(float a[], int n)
{
int i;
float sum = 0.0, mean, variance, sumsqr, deviation, std_deviation;
for(i=0; i<n; i++)
sum = sum + a[i];
mean = sum/((float)n);
for(i=1; i<=n; i++)
{
deviation = a[i] - mean;
sumsqr += deviation*deviation;
}
variance = sumsqr/(float)n;
std_deviation = sqrt(variance);
return(std_deviation);
}