零起点学算法95——弓型矩阵

123 阅读1分钟

Description
输出nm的弓型矩阵
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>
#include<string.h>
int main()
{
    int n,m,a[20][20];
    while(scanf("%d%d",&n,&m)!=EOF)
    {
         
        int t,i,j;
        t=a[i=0][j=0]=1;
        while(t<n*m)
        {
            while(j+1<m)
              a[i][++j]=++t;  
              a[++i][j]=++t;
            while(j-1>=0)
              a[i][--j]=++t;
              a[++i][j]=++t;
        }
         
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m-1;j++)
            {
                printf("%2d ",a[i][j]);
            }
            printf("%2d\n",a[i][m-1]);
        }
    }
     
    return 0;
}