1207 - C语言8.10

给定一个一维数组,包含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;
}

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题