fjnu 1406 输入三个自然数
来源:互联网 发布:端口号查询 linux 编辑:程序博客网 时间:2024/05/18 02:57
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();
}
}
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();
}
}
- fjnu 1406 输入三个自然数
- 输入三个自然数
- 三个连续自然数之积
- fjnu 1757 找i个连续自然数累加为N
- FJNU
- 三个自然数的积为1986,和为338,求这三个自然数
- java判断输入的是否是自然数
- 输入两个自然数列出乘法表
- 自然数
- 输入两个自然数,输出他们相乘后数的位数
- 输入三个数字,比较大小
- 输入三个数从小到大排列
- 输入三个数,求最大值
- 输入三个整数,输出最大值
- 输入三个数,从小到大排序
- 输入三个数,得到最大值
- ...(Div. 1 + Div. 2) A. Bear and Three Balls(是否存在三个连续自然数)
- 输入三个整数,把这三个数由小到大输出。
- fjnu 1250 Beat the Spread!
- fjnu 1285 Leap Years
- 理论研讨]中国经济会在2008年崩溃吗?
- 郁闷,这么久才发现看错了书
- fjnu 1304 蛇行矩阵
- fjnu 1406 输入三个自然数
- Sony CM-H333 ESN 软件的接口图
- fork函数与vfork函数
- 《深入浅出MFC》学习笔记(1)
- fjnu 1902 排排序
- fork函数剖析
- fjnu 1716 1+1猜想
- fjnu 1903 数字统计
- 评侯捷的<深入浅出MFC>和李久进的<MFC深入浅出>