首页 > 其他分享 >C语言旋转数组-转圈打印数组

C语言旋转数组-转圈打印数组

时间:2023-02-25 14:06:59浏览次数:59  
标签:rows int rotated 转圈 C语言 数组 numArr size


// 旋转数组
void rotateArray(size_t rows, size_t cols, size_t arr[4][4]) {
size_t rotated[rows][cols];
for (size_t i = 0; i < rows; i++) {
for (size_t j = 0; j < cols; j++) {
// rotated[i][j] = a[n - j - 1][i]; // 顺时针翻转
rotated[rows - j - 1][i] = arr[i][j]; // 逆时针翻转
//rotated[j][i] = a[n - j - 1][i]; // 垂直翻转
}
}
memcpy(arr, rotated, sizeof arr[0][0] * rows * cols);
}

打印二维数组

void printAllNumbersInArray(size_t numArr[4][4], int col, int row) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
int val = numArr[i][j];
printf("%d \t", val);
}
printf("\r");
}
}

测试

int main(int argc, const char * argv[]) {

size_t numArr[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}
};
printf("原始数组:\r\n");
printAllNumbersInArray(numArr, 4, 4);
printf("旋转后数组:\r\n");
rotateArray(4, 4, numArr);
printAllNumbersInArray(numArr, 4, 4);

return 0;
}

抖音一面面试题

顺时针打印


C语言旋转数组-转圈打印数组_C

​https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/​

​https://www.codeproject.com/Questions/40918/How-to-print-an-a-4x4-array-in-clockwise-direction​


标签:rows,int,rotated,转圈,C语言,数组,numArr,size
From: https://blog.51cto.com/u_14062833/6085418

相关文章

  • for in (var key in Obj)遍历JS对象/数组
    这个方法还可以遍历数组,就放在一起写了。letresult=function(obj){for(letkeyinobj){returnfalse;//若不为空,可遍历,返回false}returntrue;}conso......
  • 一维字符数组的操作
    键盘获取字符数组scanf和%s获取字符串,遇到空格或回车,结束输入gets函数获取带空格的字符串(不推荐使用)gets函数可以获取带空格的字符串,但是不会获取......
  • java202302java学习笔记第十一天-二维数组2
     ......
  • c语言:辗转相除求最大公约数 函数
    #include<stdio.h>//求最大公约数:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。//319377:319%377=319377%319=58319%58=2958%29=0......
  • C语言:更损相减法求最大公约数 函数应用
    #include<stdio.h>//<<九章算术>>更相减损法:可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。//以等数约之。///第......
  • Lua字节数组与float互转
    纪念那些在双流工厂奋斗的日夜,防爆表屏项目是一次很成功的实践,包括设计的页面堆栈和跳转机制历史回退机制页面密码保护机制 串口分包机制,运用综合所学来搭建的屏上独......
  • c语言以及高级语言中的float到底是什么以及IEEE754
    对内存里float4字节的好奇初学计算机都要学那个什么二进制十进制什么补码反码那些玩意儿哈,由于最近要做一个单片机往另外一个单片机发数据的需求,直接c语言指针然后float......
  • c语言调用chatgpt api
    前提:要有chatgpt账号,不会注册的关注抖音:21402780125,有免费教程!!在C语言中调用ChatGPTAPI,您需要使用C的网络编程库(例如libcurl)发送HTTP请求。以下是使用libcurl......
  • linux shell编程中的数组
     001、普通数组普通数组的定义: ay=(100200300"aa""bb")##直接定义 [root@PC1test]#ay2[0]=800##单独定义每一个元素[root@PC......
  • 【C语言经典算法100道实战题】学习资料大全
    ​【C语言经典算法100道实战题】适合具备C语言基础语法的同学学习,提高编写程序的逻辑思维能力和算法设计能力专门精心设计。100个经典的算法供大家练习及配套对应的录播视......