数组的左上半部分
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double M[12][12],sum=0;
char op;
cin>>op;
//遍历二维数组
for(int i=0;i<12;i++)
for(int j=0;j<12;j++)
{
cin>>M[i][j];
if(i+j<11)//满足目标区域条件,计入累加器sum.
sum+=M[i][j];
}
if(op=='S')printf("%.1f",sum);
else printf("%.1f",sum/66);//(12*12-12)/2
return 0;
}
#include <iostream>
using namespace std;
int main()
{
double s=0;
char op;
cin >> op;
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
{
double x;
cin >>x;
if(i+j<11) s+=x;
}
}
printf("%.1lf",op=='S' ? s : s/66);
}
数组的右上半部分
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
double M[12][12],sum=0;
char op;
cin>>op;
//遍历二维数组
for(int i=0;i<12;i++)
for(int j=0;j<12;j++)
{
cin>>M[i][j];
if(i<j)//满足目标区域条件,计入累加器sum.
sum+=M[i][j];
}
if(op=='S')printf("%.1f",sum);
else printf("%.1f",sum/66);//(12*12-12)/2
return 0;
}
数组中的行
#include <iostream>
using namespace std;
int main()
{
int l;
char op;
cin >> l >> op;
double s=0;
for(int i=0;i<12;i++)
{
for(int j=0;j<12;j++)
{
double a;
cin >> a;
if(i==l) s+=a;
}
}
printf("%.1lf",op=='S' ? s : s/12);
}
平方矩阵1
输入整数 NN,输出一个 NN 阶的回字形二维数组。
数组的最外层为 11,次外层为 22,以此类推。
输入格式
输入包含多行,每行包含一个整数 NN。
当输入行为 N=0N=0 时,表示输入结束,且该行无需作任何处理。
输出格式
对于每个输入整数 NN,输出一个满足要求的 NN 阶二维数组。
每个数组占 NN 行,每行包含 NN 个用空格隔开的整数。
每个数组输出完毕后,输出一个空行。
数据范围
0≤N≤100
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
while(cin>>n ,n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n; j++)
cout<< min(min(i,j),min(n-i+1,n-j+1)) << ' ';
cout <<endl;
}
cout <<endl;
}
return 0;
}