1207 - C语言8.10

通过次数

0

提交次数

0

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

给定一个一维数组,包含10个学生的成绩,求出平均分、最高分和最低分。要求使用将数组传至函数进行操作的方法。

题目输入

只有一行,包含10个用空格隔开的实数,表示10个学生的成绩。保证所有成绩不小于0,不大于100。

题目输出

输出平均分、最高分和最低分,用空格隔开,小数点后保留2位小数。

请注意行尾输出换行。

输入/输出样例

输入格式

100 56 78 98.5 76 87 99 67.5 75 97

输出格式

83.40 100.00 56.00

C语言解答

#include<stdio.h>
int main()
{
	int i;
	double max,min,sum,a[10];
	for(i=0;i<10;i++)
		scanf("%lf",&a[i]);
	max=min=a[0];
	for(sum=0,i=0;i<10;i++)
	{
		if(max<a[i])max=a[i];
		if(min>a[i])min=a[i];
		sum+=a[i];
	}
	printf("%.2lf %.2lf %.2lf\n",sum/10,max,min);
	return 0;
}

C++解答

#include <stdio.h>
float max, min;
int main() {
	float average(float array[10]);
	float score[10], aver;
	int i;
	for (i = 0;i < 10;i++)
		scanf("%f", &score[i]);
	aver = average(score);
	printf("%.2f %.2f %.2f\n", aver, max, min);
	return 0;
}
float average(float array[10]) {
	int i;
	float aver, sum = array[0];
	max = min = array[0];
	for(i = 1;i < 10;i++) {
		sum = sum + array[i];
		if (array[i] > max)
			max = array[i];
		if (array[i] < min)
			min = array[i];
	}
	aver = sum / 10;
	return aver;
}

Java解答

import java.util.*;

public class Main{
	public static void main (String[] args) {
		Scanner in=new Scanner(System.in);
		double []a= new double [10];
		double sum=0;
		for(int i=0;i<10;i++){
			a[i]=in.nextDouble();
		}
		for(int j=0;j<10;j++){
			sum+=a[j];
		}
		System.out.printf ("%.2f ",sum/10);
		java.util.Arrays.sort(a);
		System.out.printf ("%.2f ",a[9]);
		System.out.printf ("%.2f",a[0]);
		System.out.println ();
	}
}