循环左移方法如下所示。在这个实例中k=3。 (本题中n为5)
如果循环左移前,A中存放的内容是:
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
则循环左移后,A中存放的内容变成:
14 15 21 22 23
24 25 31 32 33
34 35 41 42 43
44 45 51 52 53
54 55 11 12 13
测试用例:
输入:
3
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
输出:
左移3位后的数组为:
14 15 21 22 23
24 25 31 32 33
34 35 41 42 43
44 45 51 52 53
54 55 11 12 13
4
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
41 42 43 44 45
51 52 53 54 55
左移4位后的数组为:
15 21 22 23 24
25 31 32 33 34
35 41 42 43 44
45 51 52 53 54
55 11 12 13 14
2
15 16 17 18 19
25 26 27 28 29
35 36 37 38 39
45 46 47 48 49
55 56 57 58 59
左移2位后的数组为:
17 18 19 25 26
27 28 29 35 36
37 38 39 45 46
47 48 49 55 56
57 58 59 15 16
#includeusing namespace std; int main() { int a[5][5],i,j,k,t,s; cin>>k; for(i=0;i<5;i++) for(j=0;j<5;j++) cin>>*(*(a+i)+j); if(k>1&&k<5) { for(s=1;s<=k;s++) { t=a[0][0]; for(i=0;i<5;i++) for(j=0;j<5;j++) { if(j!=4) *(*(a+i)+j)=*(*(a+i)+j+1); else *(*(a+i)+j)=*(*(a+i+1)+0); } a[4][4]=t; } } cout<<"左移"<


![[C++]编写程序,从键盘任意输入两个字符,能让它们按由大到小输出。要求程序有一个交换两个字符的函数,形参是变量的引用。 [C++]编写程序,从键盘任意输入两个字符,能让它们按由大到小输出。要求程序有一个交换两个字符的函数,形参是变量的引用。](http://www.mshxw.com/aiimages/31/917100.png)
