AcWing 748. 数组的右下半部分
原题链接
中等
作者:
男神
,
2024-03-06 14:45:39
,
所有人可见
,
阅读 11
#include <iostream>
#include <cstdio>
using namespace std;
int main(){
char a;
cin>>a;
double M[12][12];
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
{
cin>>M[i][j];
}
}
double s=0; int k=0;
for(int i=1;i<=11;i++)
{
for(int j=12-i;j<12;j++)
{
s+=M[i][j]; k++;
}
}
if(a=='S')printf("%.1lf",s);
else printf("%.1lf",s/k);
return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
double M[12][12];
char a; cin>>a;
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
{
int x;
cin>>x;
M[i][j]=x;//错因忘记把 x赋值过去了只写了M[12][12] //错在声明成int 正确为double
}
}
double s=0;int k=0;
for(int i=1;i<=11;i++)
{
for(int j=12-i;j<=11;j++) //逆向 遍历的话,必须是大于 等于号 而不是正向的小于等于
{ s+=M[i][j]; k++;
}
}
if(a=='S')printf("%.1lf",s);//printf 未加分号
else printf("%.1lf",s/k);