题目地址:
https://www.acwing.com/problem/content/745/
输入一个二维数组 M [ 12 ] [ 12 ] M[12][12] M[12][12],根据输入的要求,求出二维数组中某一行的元素的平均值或元素的和。
输入格式:
第一行输入整数
L
L
L,表示所求的具体行数(行数从
0
0
0开始计数)。第二行包含一个大写字母,若为S
,则表示需要求出第
L
L
L行的元素的和,若为M
,则表示需要求出第
L
L
L行的元素的平均值。接下来
12
12
12行,每行包含
12
12
12个用空格隔开的浮点数,表示这个二维数组,其中第
i
+
1
i+1
i+1行的第
j
+
1
j+1
j+1个数表示数组元素
M
[
i
]
[
j
]
M[i][j]
M[i][j]。
输出格式:
输出一个数,表示所求的平均数或元素的和的值,保留一位小数。
数据范围:
−
100.0
≤
M
[
i
]
[
j
]
≤
100.0
−100.0≤M[i][j]≤100.0
−100.0≤M[i][j]≤100.0
代码如下:
#include <iostream>
using namespace std;
double a[12];
int main() {
int row;
cin >> row;
char ch;
cin >> ch;
double res = 0.0;
for (int i = 0; i < 12; i++) {
for (int j = 0; j < 12; j++)
scanf("%lf", &a[j]);
if (i == row) {
for (int j = 0; j < 12; j++) res += a[j];
if (ch == 'S') printf("%.1lf\n", res);
else printf("%.1lf\n", res / 12.0);
}
}
return 0;
}
时空复杂度 O ( 1 ) O(1) O(1)。