3558 - 模拟1
时间限制 : 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; }