1204 - C语言8.7
给定两个一维数组,分别内含n个和m个学生的成绩,分别求出其平均成绩并输出。
Input
第一行有两个用空格隔开的整数n和m,表示分别有n个和m个学生。
第二行有n个用空格隔开的实数,表示n个学生的成绩。
第三行有m个用空格隔开的实数,表示m个学生的成绩。
保证n和m均不超过50,且所有成绩大于等于0且小于等于100。
Output
两个用空格隔开的实数,分别为第一组的n个学生和第二组的m个学生的平均成绩,小数点后保留2位小数。
请注意行尾输出换行。
Examples
Input
10 5 100 56 78 98.5 76 87 99 67.5 75 97 98 85 79 80.5 99.5
Output
83.40 88.40
Solution 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; }
Solution 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; }