1207 - C语言8.10
时间限制 : 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 (); } }