Problem Description
Read in "n" integer numbers into an array and find the average of two largest given numbers without sorting the array. The program should output the given the averageCODING ARENA
#include <stdio.h>
#include <limits.h>
int main()
{
int a[10], n;
int l1,l2,i;
float c;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
l1=l2= INT_MIN;
for(i=0;i<n;i++)
{
if(a[i]>l1)
{
l2=l1;
l1=a[i];
}
else if(a[i]>l2 && a[i]<l1)
l2=a[i];
}
printf("First Largest=%d",l1);
printf("\nSecond Largest=%d",l2);
c=(float)(l1+l2)/2;
printf("\nAverage=%.1f",c);
return 0;
}
Test Case 1
Input (stdin)4 80 23 79 58
Expected OutputFirst Largest=80 Second Largest=79 Average=79.5
Test Case 2
Input (stdin)5 180 23 179 58 43
Expected OutputFirst Largest=180 Second Largest=179 Average=179.5
No comments:
Post a Comment