字母旋转方阵

原创 2015年11月21日 17:16:09

题目描述

给定两个整数M,N,生成一个M*N的矩阵,矩阵中元素取值为A至Z的26个字母中的一个,A在左上角,其余各数按顺时针方向旋转前进,依次递增放置,当超过26时又从A开始填充。例如,当M=5,N=8时,矩阵中的内容如下:

A B C D E F G H
V W X Y Z A B I
U J K L M N C J
T I H G F E D K
S R Q P O N M L

输入

M为行数,N为列数,其中M,N都为大于0的整数。

输出

分行输出相应的结果,注意每行开始有1个空格,相邻两个字母之间有1个空格。

示例输入
4 9

示例输出
A B C D E F G H I
V W X Y Z A B C J
U J I H G F E D K
T S R Q P O N M L

#include<stdio.h>
int main()
{
    int m,n;
    int a[100][100];
    int i,nx,ny,x=0,y=0;
    int dy[]={1,0,-1,0};
    int dx[]={0,1,0,-1};
    int k=0,d=65;
    scanf("%d%d",&m,&n);
    for(i=0;i<m*n;i++)
    {
        a[x][y]=i+d;
        nx=x+dx[k];
        ny=y+dy[k];
        if(nx<0||nx==m||ny<0||ny==n||a[nx][ny]!=0)
            {
                k=(k+1)%4;
                nx=x+dx[k];
                ny=y+dy[k];
            }
            x=nx;
            y=ny;
        if(i+d==90)
        d=d-26;

    }
    for(i=0;i<m;i++)
        {
            for(k=0;k<n;k++)
       {

           printf(" %c",a[i][k]);
           }
       if(i<m-1) printf("\n");
        }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

字母旋转方阵

字母旋转方阵 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description给定两个整数M,...

字母方阵

  • 2015年04月20日 08:47
  • 778B
  • 下载

用密钥方阵实现字母编码

  • 2009年06月22日 23:11
  • 52KB
  • 下载

SDUT 2254 字母螺旋方阵(递归)

与之前做过的螺旋矩阵不同之处在于,n*m的矩阵,并且是在A-Z之间不停循环的问题。注意控制好边界如递归条件一直在l #include #include #include #include usi...

转方阵 矩阵旋转

  • 2014年06月12日 01:08
  • 354B
  • 下载

C语言写的旋转方阵问题

  • 2010年05月01日 00:16
  • 916B
  • 下载

对方阵顺时针旋转

/*对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵:           转置后变为:                      1  2  3  4          ...

数字旋转方阵和上三角(递归问题)

数字旋转方阵: 数字方阵大小是N * N; 要求:输入一个整数N(4《=N《=15) 输出要求如下:每个子的输出宽度为4 用递归实现,一圈一圈来填充  没一圈填...

递归经典算法之多转向旋转方阵

1.将前n^2个正整数填入n*n的方阵中,分为四个转向:1>从方阵的左上角开始,由外层至中心按照顺时针的方式螺旋排列而成的数字方阵,称为n阶顺转向内方阵 2>从方阵的左上角开始,由外层至中心按照逆时针...

数字方阵的旋转填充(递归方法)

数字方阵的旋转填充 void FillMatrix(int matrix[N][N],int size,int num,int offset) { //matrix为总矩阵,size为剩余矩阵...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字母旋转方阵
举报原因:
原因补充:

(最多只允许输入30个字)