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();
};

这个就是结果咯。请大侠帮助。
展开
 我来答
德克and德华

2013-03-26 · TA获得超过2650个赞
知道小有建树答主
回答量:1207
采纳率:100%
帮助的人:632万
展开全部


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");

}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
煊赫酱丶
2013-03-26
知道答主
回答量:81
采纳率:0%
帮助的人:15.6万
展开全部
二维数组,你就当数组中的数组便利,别看源码,自己想出来才记得清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嗨扣我吧呵呵
2013-03-26 · TA获得超过2056个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:157万
展开全部
好高深的东西啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式