Problem F. L05-06 计算平均值和最大值
编写一个函数计算具有nrows行和ncols列的二维数组中指定列的平均值以及数组各行的和的最大值。
输入
输入共nrows * ncols + 3个整型数,其中前两个数分别是nrows和ncols(0< nrows,ncols<101),第三个数为需要计算平均值的列数,剩下nrows * ncol个数为按行排列的二维数组值,每个值不大于100。
输出
第一个为双精度浮点数表示给定列的平均值(列下标从11开始),第二个数为整型表示数组各行的和的最大值,两个数之间用空格隔开。
样例
标准输入
2 2 1 1 2 3 4
标准输出
2.000000 7
#include <bits/stdc++.h>
using namespace std;
int main() {
double liezongshu[1000]= {0},hangzongshu[1000]= {0};
unsigned long long hang,lie,a[500][500],pjlie;//pjlie即为要找到那一列
cin>>hang>>lie>>pjlie;
for(int i=1; i<=hang; i++) {
for(int j=1; j<=lie; j++) {
cin>>a[i][j];
hangzongshu[i]+=a[i][j];//求每一行的总数
liezongshu[j]+=a[i][j];//求每一列的总数
}
}
sort(hangzongshu+1,hangzongshu+1+hang);//按照每一行的总数排升序,所以最后一个是最大的,输出它。
printf("%.6lf",liezongshu[pjlie]/hang*1.0);
cout<<" "<<hangzongshu[len];
return 0;
}

浙公网安备 33010602011771号