课程首页 › 第4部分 › 第70课
第70课 翻转钥匙
翻转钥匙(二维数组)

魔法大门上挂着一把巨大的锁,锁外面吊着一把巨大钥匙,只要能把钥匙推进锁芯,就可以打开通往魔法的大门。但是这把钥匙巨大而且还是反着的,就算有再大的力气也没办法将它翻转。
钥匙是由符号组成的二维数组,如果可以将二维数组转换一下,或许就可以把钥匙翻转过来。

翻转钥匙

运行程序:

想要翻转二维数组,两层循环嵌套是少不了的,外层循环确定行,内层循环确定元素,再完成转换。
每行的位置0与4互换,1与3互换,下标相加为4的两个元素同行互换位置。只要前一半的元素互换完成,后一半的也就换好了。

(1)外层循环确定行,一共5行,进行5次循环。

(2)内层循环确定元素,同时只需要前一半。

(3)元素互换,下标相加为4的两两互换。

巩固练习
(1)阅读下面的程序代码,填写程序的输出结果。

输出:_____________________________________________________________ _
(2)以下对二维数组arr进行初始化不正确的是()。
A.int arr[3][4]={0};
B.int arr[][3]={{1,2,3},{2,3,4}}; C.int arr[2][3]={{1,2},{3,4},{5,6}}; D.int arr[3][3]={{1,2,3},{3,4,5},{6,7,8}};(3)编写C++程序,尝试将以下数组进行上下翻转。
char arr[5][5]={{'%','*','#','*','%'},{'*','%','#','%','*'},{'#','@','#','&','*'},{'*','@','#','&','*'},{'&','@','#','&','@'}};
第5部分 功能的复用 —— 函数
第五部分
功能的复用
——函数