这道题绿色部分是右上角和右下角的重合部分。我选的是写右下角,但内循环条件不会写。内循坏的规律是:空格起始位置从0开始到N-1。星起始位置从N-i-1+1开始到N-1。
#include<iostream>
#include<iomanip>
using namespace std;
const int N=12;
double a[N][N];
int main()
{
//freopen("xxx.in","r",stdin);
//freopen("yyy.out","w",stdout);
char v;
double sum=0;
int gs=0;
cin >> v;
for(int i=0;i<N;i++)
{
for(int j=0;j<N;j++)
{
cin >> a[i][j];
}
}
for(int i=0;i<N;i++)
{
for(int j=N-i-1+1;j<=N-1;j++)
{
if(i+j>N-1 && i<j)
{
sum+=a[i][j];
gs++;
}
}
}
if(v=='S')
cout << fixed << setprecision(1) << sum << endl;
else
cout << fixed << setprecision(1) << sum/gs << endl;
//fclose(stdin);
//fclose(stdout);
return 0;
}