题解:
1.建立一个二维数组
2.历经每一个格子即(i,j)
3.如果这个字符等于这一行或这一列,照例输出
4.如果这个字符等于m+n或m-n,就是斜面,照例输出
提示:注意换行和空格
代码
#include<bits/stdc++.h>
using namespace std;
int a[15][15];
int main()
{
int n,x,y;//x为行,y为列
cin>>n>>x>>y;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==x)//如果x等于这一行
{
cout<<"("<<x<<","<<j<<") ";//输出这一行
}
}
}
cout<<endl;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==y)//如果y等于这一列
{
cout<<"("<<j<<","<<y<<") ";//输出这一列
}
}
}
cout<<endl;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i-j==x-y)//如果i和j的差和x和y的差一样
{
cout<<"("<<i<<","<<j<<") ";//输出ij位
}
}
}
cout<<endl;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i+j==x+y)//如果i和j的和和x和y的和一样
{
cout<<"("<<j<<","<<i<<") ";//输出ji位
}
}
}
return 0;
}