1204 - C语言8.7
时间限制 : 1 秒
内存限制 : 32 MB
给定两个一维数组,分别内含n个和m个学生的成绩,分别求出其平均成绩并输出。
题目输入
第一行有两个用空格隔开的整数n和m,表示分别有n个和m个学生。
第二行有n个用空格隔开的实数,表示n个学生的成绩。
第三行有m个用空格隔开的实数,表示m个学生的成绩。
保证n和m均不超过50,且所有成绩大于等于0且小于等于100。
题目输出
两个用空格隔开的实数,分别为第一组的n个学生和第二组的m个学生的平均成绩,小数点后保留2位小数。
请注意行尾输出换行。
输入/输出样例
输入格式
10 5 100 56 78 98.5 76 87 99 67.5 75 97 98 85 79 80.5 99.5
输出格式
83.40 88.40
C语言解答
#include<stdio.h> int main() { int i,m,n; double a[55],b[55],sum1,sum2; scanf("%d%d",&n,&m); for(sum1=0,i=0;i<n;i++) { scanf("%lf",&a[i]); sum1+=a[i]; } for(sum2=0,i=0;i<m;i++) { scanf("%lf",&b[i]); sum2+=b[i]; } printf("%.2lf %.2lf\n",sum1/n,sum2/m); return 0; }
C++解答
#include <stdio.h> int main() { float average(float array[], int n); float score[50]; float aver1, aver2; int n, m, i; scanf("%d%d", &n, &m); for (i = 0;i < n;i++) scanf("%f", &score[i]); aver1 = average(score, n); for (i = 0;i < m;i++) scanf("%f", &score[i]); aver2 = average(score, m); printf("%.2f %.2f\n", aver1, aver2); return 0; } float average(float array[], int n) { int i; float aver, sum = array[0]; for(i = 1;i < n;i++) sum = sum + array[i]; aver = sum / n; return aver; }
Java解答
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); int m=in.nextInt(); double a=0,b=0; for(int i=1;i<=n;i++) a+=in.nextDouble(); for(int j=1;j<=m;j++) b+=in.nextDouble(); System.out.printf ("%.2f %.2f\n",a/n,b/m); } }
Python解答
raw_input() a = [float(i) for i in raw_input().split()] a = sum(a)/len(a) b = [float(i) for i in raw_input().split()] b = sum(b)/len(b) print '%.2f %.2f' % (a,b)