热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

c语言打印顺时针循环方阵,顺时针打印矩阵(C语言代码)

#include#includevoidprintMatrix(int**matrix,intcolumns,introws,intstart){intxcolumns-start

#include

#include

void printMatrix(int **matrix,int columns,int rows,int start)

{

int x=columns-start-1;

int y=rows-start-1;

int i;

for(i&#61;start;i<&#61;x;i&#43;&#43;)//先打印一行

printf("%d ",matrix[start][i]);

if(start

{

for(i&#61;start&#43;1;i<&#61;y;i&#43;&#43;)

printf("%d ",matrix[i][x]);

}

if(x>start&&y>start)//从右到左打印

{

for(i&#61;x-1;i>&#61;start;i--)

printf("%d ",matrix[y][i]);

}

if(x>start&&y>start&#43;1)//从下到上打印

{

for(i&#61;y-1;i>&#61;start&#43;1;i--)

printf("%d ",matrix[i][start]);

}

}

void matrixClock(int **matrix,int columns,int rows)

{

if(matrix&#61;&#61;NULL||columns<&#61;0||rows<&#61;0)

return;

int start&#61;0;

while(columns>start*2&&rows>start*2)

{

printMatrix(matrix,columns,rows,start);

start&#43;&#43;;

}

}

int main()

{

int n,m;

while(scanf("%d %d",&n,&m)!&#61;NULL)

{

int **numbers;

int i,j;

numbers&#61;(int **)malloc(sizeof(int *)*n);//n rows

for(i&#61;0;i

numbers[i]&#61;(int *)malloc(sizeof(int)*m);//m columns

for(i&#61;0;i

for(j&#61;0;j

scanf("%d",&numbers[i][j]);

matrixClock(numbers,m,n);

}

return 0;

}



推荐阅读
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 本文将深入探讨C语言中的位操作符——按位与(&)、按位或(|)和按位异或(^),通过具体示例解释这些操作符如何在位级别上对数据进行操作。 ... [详细]
  • c语言二元插值,二维线性插值c语言
    c语言二元插值,二维线性插值c语言 ... [详细]
  • 实现系统调用
    实现系统调用一、实验环境​本次操作还是基于上次编译Linux0.11内核的实验环境进行操作。环境如下:二、实验目标​通过对上述实验原理的认识,相信 ... [详细]
  • 编译原理中的语法分析方法探讨
    本文探讨了在编译原理课程中遇到的复杂文法问题,特别是当使用SLR(1)文法时遇到的多重规约与移进冲突。文章讨论了可能的解决策略,包括递归下降解析、运算符优先级解析等,并提供了相关示例。 ... [详细]
  • 本文提供了一个使用C语言实现的顺序表区间元素删除功能的完整代码示例。该程序首先初始化一个顺序表,然后根据用户输入的数据进行插入操作,最后根据指定的区间范围删除相应的元素,并输出最终的顺序表。 ... [详细]
  • 深入浅出C语言指针
    指针是C语言中极其重要的数据类型,广泛应用于各种数据结构的表示、数组和字符串的操作以及内存地址的处理。本文将通过实例详细解析指针的基本概念及其应用。 ... [详细]
  • C语言中的指针详解
    1.什么是指针C语言中指针是一种数据类型,指针是存放数据的内存单元地址。计算机系统的内存拥有大量的存储单元,每个存储单元的大小为1字节, ... [详细]
  • 本文详细介绍了在单片机编程中常用的几个C库函数,包括printf、memset、memcpy、strcpy和atoi,并提供了具体的使用示例和注意事项。 ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • 本文介绍如何手动实现一个字符串连接函数,该函数不依赖于C语言的标准字符串处理函数,如strcpy或strcat。函数原型为void concatenate(char *dest, char *src),其主要作用是将源字符串src追加到目标字符串dest的末尾。 ... [详细]
author-avatar
kevin_xi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有