3558 - 模拟1

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

从键盘任意输入n个整数,找出这些数中的最大值,并计算所有数之和平均值


题目输入

输入有多组样例。 首先输入一个整数n(n<20),接下来一行输入n个整数。 

题目输出

输出最大值,总和,平均值。 三个数之间以换行隔开。

注意:平均值保留两位小数

输入/输出样例

输入格式

1
20
3
1 2 3

输出格式

20
20
20.00
3
6
2.00

C语言解答

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
int main()
{
  //  freopen("in","r",stdin);
  //  freopen("out","w",stdout);

    int n;
    int a[20],sum,i,j;
    float avg;

    while(scanf("%d",&n)!=EOF)
    {
        sum=0;
       for(i=0;i<n;i++)
	   {
          scanf("%d",&a[i]);
          sum+=a[i];
	  }
       for(j=1;j<n;j++)
	   {
          if(a[0]<a[j])
             a[0]=a[j];
	   }
  printf("%d\n",a[0]);
  printf("%d\n",sum);
  printf("%.2f\n",1.0*sum/n);


    }
  return 0;
}

C++解答

#include <stdio.h>
#define N 20
int Max(int a[],int n);
int Sum(int a[],int n);
int main()
{
	int a[N],n,sum,max,i,j;
	float aver;
	while (scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
	sum=Sum(a,n);
	aver=(float)sum/n;
	max=Max(a,n);
	printf("%d\n%d\n%.2f\n",max,sum,aver);
	}
}
int Max(int a[],int n)
{
	int i,max=0;
	for (i=0;i<n;i++)
	{
		if(max<a[i])
		{
			max=a[i];
		}
	}
	return max;
}
int Sum(int a[],int n)
{
	int i,sum=0;
	for(i=0;i<n;i++)
	{
		sum+=a[i];
	}
	return sum;
}