字母旋转方阵

原创 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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

2254字母旋转方阵

字母旋转方阵 解题思路: 开始时,无从下手。 首先将数组赋值,再输出。赋值是难点,只要找到控制条件(保证不超界且没被赋值),问题就迎刃而解了。 再者要注意while和if的区别。...
  • qq_37275680
  • qq_37275680
  • 2017年07月18日 15:28
  • 78

分治算法之数字旋转方阵问题

一、矩阵形式如下: 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 5 6 7 8 9 二、利用分治算法的思想,先生成矩阵的如下...
  • tterminator
  • tterminator
  • 2015年12月14日 14:51
  • 1599

蓝桥杯之最简单的分治法-----数字旋转方阵

有一个N*N的方阵,如图要求如图数出这个方阵 首先我们讲讲分治法,分治,分治,分而治之 我们将这张图片分为这样 1,2,3,4,5这列为一组             输入时候,只需要行数...
  • echoerror
  • echoerror
  • 2016年03月19日 01:09
  • 1747

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

数字方阵的旋转填充 void FillMatrix(int matrix[N][N],int size,int num,int offset) { //matrix为总矩阵,size为剩余矩阵...
  • u013232740
  • u013232740
  • 2015年06月16日 19:27
  • 2148

蓝桥杯 转方阵

对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1  2  3  4  5  6  7  8 9 10 11 12 13 14 15 16  ...
  • u013250416
  • u013250416
  • 2015年04月07日 22:41
  • 337

数字旋转方阵(c#数组的使用)

 今天上机编了一个小程序,觉得挺有意思的。拿出来和大家一起分享一下。题目大体意思如下:         根据用户键入的值,输出如下格式的数字旋转方阵。例:输入4输出方阵如下:1  12   11   ...
  • zhengda10
  • zhengda10
  • 2007年04月13日 20:40
  • 1382

洛谷——P1101 单词方阵

题目描述给一nXn的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间[color=red]...
  • peter_zhu01
  • peter_zhu01
  • 2017年03月03日 20:35
  • 238

旋转数阵 递归 java

1. 案例提出 把前n2个正整数1,2,...,n2  从左上角开始,由外层至中心按顺时针方向螺旋排列所成的数字矩阵,称n阶顺转方阵;按逆时针方向螺旋排列所成的称n阶逆转方阵。 下面即为一个5阶...
  • kobe2016
  • kobe2016
  • 2017年02月16日 15:57
  • 414

数字旋转方阵

#include const int N = 9; int P[N][N]; void _fill(int number, int bgn, int sz) { int i = 0, h...
  • qq_21411985
  • qq_21411985
  • 2015年02月11日 11:42
  • 1441

洛谷 P1101 单词方阵【DFS】

题目索引:https://www.luogu.org/problemnew/show/P1101 题目描述 给一nXn的字母方阵,内可能蕴含多个“yizhong”单词。单词在方阵中是沿着同...
  • yanyidu
  • yanyidu
  • 2018年01月27日 13:57
  • 23
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字母旋转方阵
举报原因:
原因补充:

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