1.我外循坏多循坏了一次。
2.我j初始值是1,少了1列,但输出的星号却是对的,是因为我内循坏没有减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-1;i++)
{
for(int j=0;j<N-i-1;j++)
{
if(i>j && i+j<N)
{
sum+=a[i][j];
gs++;
}
}
}
if(v=='S')
{
cout << sum << endl;
}
else
{
cout << fixed << setprecision(1) << sum/gs << endl;
}
//fclose(stdin);
//fclose(stdin);
return 0;
}