基础练习 回形取数

问题描述
  回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。
输入格式
  输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。
输出格式
  输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。
样例输入
3 3
1 2 3
4 5 6
7 8 9
样例输出
1 4 7 8 9 6 3 2 5
样例输入
3 2
1 2
3 4
5 6
样例输出
1 3 5 6 4 2

思路:
以下——>左——>上——>右为读数规律,控制下标增减完成输出。

code:

#include<stdio.h>
int main(){
    int m, n;
    int i, j;
    int cnt = 0;
    int x[200][200];
    scanf("%d%d", &m, &n);
    for(i=0; i<m; i++)
        for(j=0; j<n; j++)
            scanf("%d", &x[i][j]);
    i=0; j=0;
    while(cnt < m*n){
        while(x[i][j]>-1 && i<m){
            printf("%d ", x[i][j]);
            x[i][j] = -1;
            i++;cnt++;
        }
        i--;j++;
        while(x[i][j]>-1 && j<n){
            printf("%d ", x[i][j]);
            x[i][j] = -1;
            j++;cnt++;
        }
        i--;j--;
        while(x[i][j]>-1 && i>=0){
            printf("%d ", x[i][j]);
            x[i][j] = -1;
            i--;cnt++;
        }
        i++;j--;
        while(x[i][j]>-1 && j>=0){
            printf("%d ", x[i][j]);
            x[i][j] = -1;
            j--;cnt++;
        }
        j++;i++;
    }
    return 0;
}

初学小白,若有可改进之处欢迎评论

时间: 2024-10-17 04:39:50

基础练习 回形取数的相关文章

十幅图读懂BI自助取数系统!

有5年没有做报表取数了,但现在总是会想起取数的事,想到了现在还在欢乐运行着的自助取数系统,亲切的叫它"取数快点吧",今天就来谈一谈这个系统 . 一.总体思路 在活字印刷出现以前,要印一本书很困难,需要根据书的内容刻成雕版,由于每本书的内容各不一样,需要为每本书单独刻成雕版,这样做既费事又费力.但是后来发现虽然每本书的内容千变万化,但是构成书的基本单元"字"是不变的,常用的中文字也就几千个,书无非是这些字的组合.后来毕昇发明的活字印刷术将每个字雕刻下来,形成活字,通过

excel通过VLOOKUP函数从一个表中取数到另一个表

  Excel表格处理数据的功能很强大,工作中,经常需要从数据库文件中查找索引数据到另一个文件中,如何实现这个引用?通过VLOOKUP函数,就可以轻松做到. VLOOKUP函数是一个纵向查找函数,用于按列进行查找索引数据.我们根据需求,进行设定就能快速完成. 步骤 打开电脑,点开Excel,打开数据库文件和需要引用数据的文件. 现以一份电子账册的料件为例:企业在海关备案了552个不同的商品,这552个"商品名称"有"备案序号",另一份料件表文件只有"备案序

卓帐终身免费财务软件会计报表取数公式的设置

卓帐终身免费财务软件高度集成了帐务处理.出纳管理.辅助核算.报表处理等功能模块.该软件支持新旧会计制度以及国 家最新数据接口标准.适用于各类企事业行政单位.软件界面简洁大方.易学.易用.实用.好用.免费.在这里我们就先来看看卓帐终身免费财务软件会计报表取 数公式该如何设置吧! 打开"会计分析报表" 计算公式"> 选择对应的报表点[修改]进入"财务报表管理"点对应的科目的年初数.期末数的方格内再点菜单上的[公式]如下图 选择的是货币资金的期末数 选择起

金蝶eas-求推荐取数工具能取金蝶eAS的账簿,试过了审计大师的取数工具取不了。。

问题描述 求推荐取数工具能取金蝶eAS的账簿,试过了审计大师的取数工具取不了.. 求推荐取数工具能取金蝶eAS的账簿,试过了审计大师的取数工具取不了.. 解决方案 可以用数据提取大师2015光碟版提取

java jtable-关于从jtabl中取数,跪求答案啊

问题描述 关于从jtabl中取数,跪求答案啊 50C int row=-1; for(int i=0;i<v.length;i++){ for(int j=0;j<v[i].length;j++){ for(int k=0;k<v[i][j].length;k++){ for(int l=0;l<v[i][j][k].length;l++){ //v[i][j][k][l]=new Variable(); v[i][j][k][l]=new Variable(); row++; v

jtable-关于从Jtable中取数到多维数组的问题

问题描述 关于从Jtable中取数到多维数组的问题 5C int row=0; for(int i=0;i<v.length;i++){ for(int j=0;j<v[i].length;j++){ for(int k=0;k<v[i][j].length;k++){ for(int l=0;l<v[i][j][k].length;l++){ v[i][j][k][l]=new Variable(); v[i][j][k][l].setTheta(Double.parseDoub

自动取数系统

问题描述 我想做一个在VS2012下的自动取数系统解释一下:在界面中导入表(学生学号,选题题号)就可以自动分配给每个学生不同的题目.问题就就来了,人多题少一般都是.就要求对人数和题数求余.求大神们帮忙想想还有一些什么问题怎么解决.谢谢啦 解决方案 解决方案二:随机取数呗,取数范围[最小题号,最大题号]解决方案三: 解决方案四:怎么个随机法呢?能不能再明确一些解决方案五:你们到底是哪个培训机构的?解决方案六: 解决方案七:有点太坑了吧··我中职出来赶脚都比你会多点解决方案八:学生list.ForE

关于从存储过程中取数的问题

问题描述 DimconnAsSqlConnectionDimcmdAsSqlCommandDimmyReaderAsSqlDataReaderDimmyPrmAsSqlParameter()DimlngRowsAsLongDimlngErrCodeAsLongDimiAsInteger,jAsIntegerconn=NewSqlConnection(connDbStr)conn.Open()cmd=NewSqlCommand("test",conn)Withcmd.CommandTyp

求成本中心报表,查看各个部门发生的费用的取数

问题描述 求成本中心报表,查看各个部门发生的费用的取数,就是他们的数据要从哪几个表查呐,特别是费用是去哪里查.