C/C++ C语言 二维数组 旋转 输出。
#include<stdio.h>#include<stdlib.h>#include<string.h>#defineROW5#defineCOL5intarr[ROW...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define ROW 5
#define COL 5
int arr[ROW][COL];
void rotateArr(){
/************ Implement here ***************/
这里的代码要怎么写才能得到下面图片的结果。
我知道怎么把二维数组旋转90度。
不过他输出时候是用了三个rotateArr函数。
如果按照我的写法的话,每次输出都输出重复的三个。
/************ Implement here ***************/
}
void main(void){
int i,j;
for(i=0; i<ROW; i++){
for(j=0; j<COL; j++){
arr[i][j]=1+i*5+j;
printf("%5d",arr[i][j]);
}
printf("\n");
}
printf("\n");
rotateArr();
rotateArr();
rotateArr();
};
这个就是结果咯。请大侠帮助。 展开
#include <stdlib.h>
#include <string.h>
#define ROW 5
#define COL 5
int arr[ROW][COL];
void rotateArr(){
/************ Implement here ***************/
这里的代码要怎么写才能得到下面图片的结果。
我知道怎么把二维数组旋转90度。
不过他输出时候是用了三个rotateArr函数。
如果按照我的写法的话,每次输出都输出重复的三个。
/************ Implement here ***************/
}
void main(void){
int i,j;
for(i=0; i<ROW; i++){
for(j=0; j<COL; j++){
arr[i][j]=1+i*5+j;
printf("%5d",arr[i][j]);
}
printf("\n");
}
printf("\n");
rotateArr();
rotateArr();
rotateArr();
};
这个就是结果咯。请大侠帮助。 展开
展开全部
void rotateArr(){
int temp[ROW][COL], i, j, k;
for (i=0,j=COL-1; j>=0; i++,j--)
for (k=0; k<COL; k++)
{
temp[k][j] = arr[i][k];//temp作为临时数组,存放90度翻转后的arr数组
}
for (i=0; i<ROW; i++)
{
for (j=0; j<COL; j++)
{
printf("%5d",arr[i][j] = temp[i][j]);//把temp数组的内容逐个赋给arr数组,以改变arr数组的值,使得多次调用rotateArr函数时arr的值会不断改变
}
printf("\n");
}
printf("\n");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
二维数组,你就当数组中的数组便利,别看源码,自己想出来才记得清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好高深的东西啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询