前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蓝桥杯之奇怪的比赛

蓝桥杯之奇怪的比赛

作者头像
Max超
发布2019-01-21 15:46:49
9500
发布2019-01-21 15:46:49
举报

对一个方阵转置,就是把原来的行号变列号,原来的列号变行号。例如,如下方阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转置后变为: 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 但如果是对该方阵顺时针旋转(不是转置),却是如下结果: 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4


这道题是在蓝桥杯中是填空题,主要找规律 // // 1 2 3 4 // 5 6 7 8 // 9 10 11 12 // 13 14 15 16

//13 9 5 1 //14 10 6 2 //15 11 7 3 //16 12 8 4 //找规律 // X Y // 0 3 3-0*4 // 1 7 3+1*4 // 2 11 3+2*4 // 3 15 3+3*4 // 4 2 2+0*4 // 5 6 2+1*4 // … // 8 1 1+0*4 // … // 12 0 0+0*4

代码语言:javascript
复制
include<iostream>
#include<stdio.h>
#include<malloc.h>
using namespace std;
void rotate(int *x,int rank)
{ 
    int *y=(int*)malloc(sizeof(int));  //填空
     for(int i=0;i<rank*rank;i++)
       { y[3-i/4+i%4*4]= x[i];  //填空
       }
     for(int i=0;i<rank*rank;i++) x[i]=y[i];
     free(y);
}

int main(int argc,char *argv[])
{ int x[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
     int rank=4;
     rotate(&x[0][0],rank);
     for(int i=0;i<rank;i++)
       { for(int j=0;j<rank;j++)    printf("%4d",x[i][j]);
         printf("\n");
       }
     return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年01月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档