Description
输入三个自然数,n,i,j(n<=10,1<=i<=n,1<=j<=n).n表示有一个n行n列的棋盘格子,(i,j)表示棋盘中格子的位置
如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子
要求编制一个程序,根据输入的n,i,j的值,输出与格子(i,j)在同一行、同一列、同一对角线上的所有格子位置.
例如:当n=4,i=2,j=3时,输出的结果是:
(2,1)(2,2)(2,3)(2,4) {同一行格子的位置}
(1,3)(2,3)(3,3)(4,3) {同一列格子的位置}
(1,2)(2,3)(3,4) {左上到右下对角线上的格子位置}
(4,1)(3,2)(2,3)(1,4) {左下到右上对角线上的格子位置}
Input
该题有多组测试数据,每组测试数据一行,包含三个整数n,i,j,它们之间由空格隔开。
Output
Sample Input
4 2 3
Sample Output
(2,1)(2,2)(2,3)(2,4)
(1,3)(2,3)(3,3)(4,3)
(1,2)(2,3)(3,4)
(4,1)(3,2)(2,3)(1,4)
KEY:打印题;
Source:#include<iostream>
using namespace std;

int n;
int x,y;

void print1()

...{
for(int i=1;i<=n;i++)
cout<<"("<<x<<","<<i<<")";
cout<<endl;
}

void print2()

...{
for(int i=1;i<=n;i++)
cout<<"("<<i<<","<<y<<")";
cout<<endl;
}

void print3()

...{
int a,b;
a=x;
b=y;
while(a>1&&b>1)

...{
a--;
b--;
}
if(a==1)

...{
int i,j;
for(i=a,j=b;i<=j&&i<=n&&j<=n;i++,j++)
cout<<"("<<i<<","<<j<<")";
}
else

...{
int i,j;
for(i=a,j=b;i<=n&&j<=n;i++,j++)
cout<<"("<<i<<","<<j<<")";
}
cout<<endl;
}

void print4()

...{
int a,b;
a=x;
b=y;
while(a<n&&b>1)

...{
a++;
b--;
}
if(a==n)

...{
int i,j;
for(i=a,j=b;i>=1&&j<=n;i--,j++)
cout<<"("<<i<<","<<j<<")";
}
else

...{
int i,j;
for(i=a,j=b;i>=1&&j<=n;i--,j++)
cout<<"("<<i<<","<<j<<")";
}
cout<<endl;
}

int main()

...{
while(scanf("%d%d%d",&n,&x,&y)!=EOF)

...{
print1();
print2();
print3();
print4();
}
}
