从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。输出这两个最大数和平均值,顺序为较小最大数,平均值(保留两位小数点),较大最大数。
大于平均数的最大数???不就是所有数中的最大数吗?
//从键盘读入大于1小于100的正整数n,再输入n个整数。要求找出两个最大值,分别为小于平均值的最大数和大于平均值的最大数,不考虑最大数和平均值相等的情况。
//输出这两个最大数和平均值,顺序为较小最大数,平均值(保留两位小数点),较大最大数。
#include <stdio.h>
int main()
{
int n,a[100],i,sum=0,max,m,f=0;
float avg;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(i==0)
max = a[0];
else if(max < a[i])
max = a[i];
sum += a[i];
}
avg = sum*1.0/n;
for(i=0;i<n;i++)
{
if(a[i] >= avg)
continue;
if(f==0)
{
m = a[i];
f = 1;
}
else if(a[i] > m)
m = a[i];
}
printf("%d,%.2f,%d",m,(m+max)/2.0,max);
}