二维数组顺时针输出c语言
时间: 2024-01-12 11:21:37 浏览: 128
顺时针打印二维数组中的元素
以下是一个用C语言实现二维数组顺时针输出的例子:
```c
#include <stdio.h>
void printClockwise(int m, int n, int arr[m][n]) {
int i, k = 0, l = 0;
while (k < m && l < n) {
// 从左到右打印第一行
for (i = l; i < n; ++i) {
printf("%d ", arr[k][i]);
}
k++;
// 从上到下打印最后一列
for (i = k; i < m; ++i) {
printf("%d ", arr[i][n-1]);
}
n--;
// 从右到左打印最后一行
if (k < m) {
for (i = n-1; i >= l; --i) {
printf("%d ", arr[m-1][i]);
}
m--;
}
// 从下到上打印第一列
if (l < n) {
for (i = m-1; i >= k; --i) {
printf("%d ", arr[i][l]);
}
l++;
}
}
}
int main() {
int m, n;
printf("请输入m和n的值:");
scanf("%d %d", &m, &n);
int arr[m][n];
printf("请输入二维数组的元素:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
printf("顺时针输出二维数组:\n");
printClockwise(m, n, arr);
return 0;
}
```
阅读全文