1204 - C语言8.7

通过次数

0

提交次数

0

时间限制 : 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)