题目描述
输入一个二维数组 M[12][12],根据输入的要求,求出二维数组的右上半部分元素的平均值或元素的和。
右上半部分是指主对角线上方的部分,如下图所示,黄色部分为dui角线,绿色部分为右上半部分
样例
输入样例:
M
-6.5 8.2 0.7 9.0 0.8 -4.3 0.9 -0.0 -7.9 7.1 -1.6 4.6
-9.4 -9.0 1.5 -9.0 -5.1 -0.5 -2.8 -9.1 8.0 -6.9 -5.5 -6.6
-6.8 0.3 3.8 6.1 -9.9 -9.3 8.5 8.6 5.0 6.9 -3.6 -3.0
-0.8 -1.6 -7.3 -6.7 4.4 -9.1 -9.0 1.6 0.3 -6.0 6.0 -0.8
-0.8 -6.0 -4.9 -3.9 6.4 6.2 -4.2 -0.9 7.9 1.6 -8.2 -9.2
7.8 -5.8 -5.8 -5.8 7.2 0.5 -7.9 1.2 -6.8 -9.1 0.3 -1.4
4.3 -7.2 3.5 -6.4 -9.1 -6.0 3.5 -5.1 -5.6 -6.9 -9.1 -2.1
-7.6 -7.1 0.7 -1.7 5.0 -9.0 1.4 -6.2 7.6 4.8 -7.5 4.0
-0.2 0.3 -4.2 8.4 0.7 -6.4 -2.7 3.5 -0.9 3.7 0.9 -2.7
7.1 0.1 8.4 -5.1 -7.9 -0.5 -5.3 -5.7 -4.6 9.6 -8.3 7.0
9.6 -9.8 3.3 -9.9 -6.8 6.7 3.1 1.2 -9.5 -4.3 -1.7 -9.7
1.8 5.0 8.3 -0.7 -0.9 3.2 2.5 0.5 7.3 8.3 0.3 0.9
输出样例:
-1.2
算法1
C++ 代码
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
char c;
cin>>c;
double a[12][12],x;
for(int i=0;i<12;i++){
for(int j=0;j<12;j++){
cin>>x;
a[i][j]=x;
}
}
double sum;
for(int i = 0; i < 12; i ++)
{
for (int j = 0; j < 12; j ++)
{
cin >> a[i][j];
if(j > i)
sum+=a[i][j];
}
}
if(c=='S'){
printf("%.1lf",sum);
}
if(c=='M'){
double jun;
jun=sum/66.0;
printf("%.1lf",jun);
}
return 0;
}