亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何實現將3*3的二維數組表示的方陣進行順時針旋轉90°函數rotate()?

如何實現將3*3的二維數組表示的方陣進行順時針旋轉90°函數rotate()?

C
函數式編程 2022-07-09 11:07:17
并編寫主函數驗證之。例如,rotate()函數將數組11 22 3344 55 6677 88 99變為:77 44 1188 55 2299 66 33
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

#include "stdlib.h"
void rotate(int (*a)[3])
{
int i,j;
int temp[3][3];
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
temp[j][2-i]=a[i][j];
}
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
a[i][j]= temp[i][j];
}
}
main()
{
int i,j;
int a[3][3]= {11,22,33, 44,55,66, 77,88,99};
rotate(a);
printf(“after transform\n”);
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
printf(“%d\t”,a[i][j]);
}


查看完整回答
反對 回復 2022-07-11
?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

#include "stdlib.h"

void rotate(int* data)
{
int t;
t = data[0];
data[0] = data[6];
data[6] = data[8];
data[8] = data[2];
data[2] = t
t = data[1];
data[1] = data[3];
data[3] = data[7];
data[7] = data[5];
data[5] = t;
}

int main()
{
int data[9] = {11,22,33,
44,55,66,
77,88,99};
printf("原來的:");
printf("%i %i %i\r\n",data[0],data[1],data[2]);
printf("%i %i %i\r\n",data[3],data[4],data[5]);
printf("%i %i %i\r\n",data[6],data[7],data[8]);

rotate(data);

printf("旋轉后的:");
printf("%i %i %i\r\n",data[0],data[1],data[2]);
printf("%i %i %i\r\n",data[3],data[4],data[5]);
printf("%i %i %i\r\n",data[6],data[7],data[8]);
}


查看完整回答
反對 回復 2022-07-11
  • 2 回答
  • 0 關注
  • 226 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號