课程首页 › 第4部分 › 第70课

第70课 翻转钥匙

第4部分 点、线、面、立体的组合 · 数组· 知识点:二维数组

翻转钥匙(二维数组)

插图

魔法大门上挂着一把巨大的锁,锁外面吊着一把巨大钥匙,只要能把钥匙推进锁芯,就可以打开通往魔法的大门。但是这把钥匙巨大而且还是反着的,就算有再大的力气也没办法将它翻转。

钥匙是由符号组成的二维数组,如果可以将二维数组转换一下,或许就可以把钥匙翻转过来。

插图

翻转钥匙

插图

运行程序:

插图

想要翻转二维数组,两层循环嵌套是少不了的,外层循环确定行,内层循环确定元素,再完成转换。

每行的位置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部分 功能的复用 —— 函数

第五部分

功能的复用

——函数