弓形矩阵
Description
输出n*m的弓型矩阵
Input
多组测试数据 每组输入2个整数 n和m(不大于20)
Output
输出n*m的弓型矩阵,要求左上角元素是1,(每个元素占2个位置,靠右)
Sample Input
4 3
Sample Output
1 2 3
6 5 4
7 8 9
12 11 10
#include<stdio.h>
#define maxsize 21
int main()
{
int n,m;int cnt=1;
while(scanf("%d%d",&n,&m)!=EOF)
{
for(int i=1;i<=n;i++)
{
int temp=i;
if(i%2!=0)
{
cnt=(temp-1)*m+1;//当行数是奇数行的时候 这一行的开头的数据就有这样的关系
for(int j=1;j<=m;j++)
{
if(j!=m)
printf("%2d ",cnt);
else
printf("%2d\n",cnt);
cnt++;//奇数行依次递增
}
}
else
{
cnt=temp*m;//当行数为偶数行的时候 每一行的开头的第一个数字有这样的特点
for(int j=1;j<=m;j++)
{
if(j!=m)
printf("%2d ",cnt);
else
printf("%2d\n",cnt);
cnt--;//偶数行依次递减
}
}
}
cnt=1;
}
}
提示
当我们没有思路的时候 记得拿起笔去写一下这个矩阵
矩阵毕竟是有数字构成的 所以可能就存在之对应的关系
当找到数与数之间的某种联系的时候 这道题就算是成功了一半了