小曹网络 发表于 2020-11-13 17:51:54

c语言

3、编写程序,输入一个矩阵(矩阵大小4行5列),按照从外向里以顺时针的顺序依次打印出每一个数字。例如:


1   234   5
6   78910
11 12 13 1415
16 17 18 1920
输出序列为 1 2 3 4 5 10 15 20 19 18 17 16 11 6 7 8 9 14 13 12

各位大佬求救

shooan 发表于 2020-11-13 18:44:04

如果你会访问二维数组的话,那么这题是比较简单的,因为矩阵的大小都已经固定了。
没有什么技巧,观察访问元素的时候下标的变化,然后,把它用代码描述出来就好了

傾小靈 发表于 2020-11-13 20:33:25

#include<stdio.h>
int main()
{
        int a=
        {
        {1,2,3,4,5},
        {6,7,8,9,10},
        {11,12,13,14,15},
        {16,17,18,19,20}
        };
        int i,j,z;
        for(j=0;j<5;j++)
        {
                printf("%d ",a);
        }
        for(i=1;i<4;i++)
        {
                printf("%d ",a);
        }
        for(j=3;j>0;j--)
        {
                printf("%d ",a);
        }
        for(i=3;i>0;i--)
        {
                printf("%d ",a);
        }
        for(j=1;j<4;j++)
        {
                printf("%d ",a);
        }
        for(j=3;j>0;j--)
        {
        printf("%d ",a);
        }
       
       
}
我也是刚学的小白不知道是否还有更简单的方法,
{:10_254:}

小曹网络 发表于 2020-11-13 20:59:22

傾小靈 发表于 2020-11-13 20:33
我也是刚学的小白不知道是否还有更简单的方法,

谢谢兄弟

小曹网络 发表于 2020-11-13 21:00:20

shooan 发表于 2020-11-13 18:44
如果你会访问二维数组的话,那么这题是比较简单的,因为矩阵的大小都已经固定了。
没有什么技巧,观察访问 ...

没学 哈哈 老师就布置这玩意了

乐乐学编程 发表于 2020-11-15 22:56:20

这道题应该有办法,我研究一下

baige 发表于 2020-11-15 22:59:23

本帖最后由 baige 于 2020-11-15 23:01 编辑

dfs,当然这道题确定大小就很简单了

小曹网络 发表于 2020-11-18 21:40:49

baige 发表于 2020-11-15 22:59
dfs,当然这道题确定大小就很简单了

ok
页: [1]
查看完整版本: c语言