海贼理工学院的老师让同学们排成了一个 n∗m 的长方形队列,老师想知道现在每行同学的 身高平均数是多少,你可以帮他求一下吗。 现已知所有同学的身高,数值为整数,单位:厘米。要求输出每一行同学们身高的平均数。
输入共有 n+1 行:
输出共有n行,每行一个实数,为每一行所有同学身高的平均值,保留小数点后六位。
3 3
140 160 140
183 172 170
180 181 174
146.666667
175.000000
178.333333
这题的思路很简单,输入值放入数组,然后按行输出每一列的平均值,但在这里输出出了问题,如果贸然使用%f输出,你会发现不管什么值,后面6位小数都000000,是因为我这里输入时用了整形数组,导致转换浮点数时,后面的值默认丢弃,所以要采用双精度型来输出。
#include<stdio.h>
#include<math.h>
int main(){
double n,m = 0;
double average;
double sum=0;
double a[205][205];
scanf("%lf %lf",&n,&m);
for(int i =0; i < n;i++){
for(int j = 0;j < m;j++){
scanf("%lf",&a[i][j]);
}
}
for(int i=0; i < n;i++ ){
for(int j = 0;j< m;j++){
sum +=a[i][j];
}
printf("%.6lf\n",sum/m);
sum = 0;
}
return 0;
}