Code:
#include<stdio.h>
int NUM=100;
void sortArray(float [],int num);
void printArray(float [],int num,int ls,FILE *);
int readArray(float [],int num,FILE *);
float median_function(float [],int num);
float mean_function(float [],int num);
void printA(int,float,float,FILE *);
main()
{
int ls,count,e;
float mean,median,a[NUM],array;
FILE *oF,*iF;
oF=fopen("output.txt","w");
iF=fopen("data5a.txt","r");
fprintf(oF,"name\n\n");
fprintf(oF," Mean and Median of Arrayed Scores(Sorted and Unsorted)\n\n");
array=readArray(a,NUM,iF);
ls=7;
count=array;
printArray(a,array,ls,oF);
mean=mean_function(a,array);
sortArray(a,array);
median=median_function(a,array);
printA(count,mean,median,oF);
ls=6;
printArray(a,array,ls,oF);
fclose(oF);
fclose(iF);
}
int readArray(float a[],int array,FILE *iF)
{
int k=0,e;
float v;
e=fscanf(iF,"%f",&v);
while(e==1&&k<array)
{
a[k]=v;
k++;
e=fscanf(iF,"%f",&v);
}
fclose(iF);
return k;
}
void printArray(float a[],int num,int ls,FILE *oF)
{
int k;
for(k=0;k<num;k++)
{
fprintf(oF,"%4.2f ",a[k]);
if ((k+1)%ls==0)
fprintf(oF,"\n");
}
fprintf(oF,"\n");
}
float mean_function(float a[],int num)
{
int k;
float sum=0;
for(k=0;k<num-1;k++)
sum+=a[k];
return(sum/k);
}
void sortArray(float a[], int num)
{
int x,y,temp;
for(x=0;x<num;x++)
{
for(y=0;y<num-1;y++)
{
if(a[y]>a[y+1])
{
temp=a[y+1];
a[y+1]=a[y];
a[y]=temp;
}
}
}
}
float median_function(float a[],int num)
{
float temp;
int i,j;
for(i=0;i<num;i++)
for(j=i+1;j<num;j++)
{
if(a[i]>a[j])
{
temp=a[j];
a[j]=a[i];
a[i]=temp;
}
}
if(num%2==0)
return (a[num/2]+a[num/2-1])*.50;
else
return a[num/2]*1.00;
}
void printA(int count,float mean,float median,FILE *oF)
{
fprintf(oF,"\n%d Scores\nMean: %.2f Median: %.2f\n\n",count,mean,median);
}