C程序矩阵移动问题给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边.例如,有下列矩阵: 1 2 3 4 5

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 09:10:25
C程序矩阵移动问题给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边.例如,有下列矩阵:         1  2  3  4  5
xUOsRW*F;`b(u2YMTdZut x!@1K<~{ =$]U {~wy·ʣ x[dc3v=/k7\L֟}Τ2 zUIZ{+L{Y1Ml+Yst `p*sX:mX|4! !}(y*_:|2|0P.o~~CZFݧKjap]߮^Y^Z+tV(}[aMsϫ\Y^naֹ7}Rj='+$J9;Di'͊MI2JvӖ܍ J$U*W&&O;1 vze0wZ E%@(.iTO= p3uq;yĊqud (m8(ᢘIE]<]ˌEɞvn">LIOlQ̋e^.dNge"]Zza|,s:χ]#|TϐEMvQi(s֪@DQܫ(ޅP:G o|T8N=, ߲3ܭd>eFتn4,Gd1IRHߡN*nxA >/G E5q_b]N)gtQ{;K(YĮlٷT$ _ë!3+[[

C程序矩阵移动问题给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边.例如,有下列矩阵: 1 2 3 4 5
C程序矩阵移动问题
给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边.
例如,有下列矩阵:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
若k为2,程序执行结果为
3 4 5 1 2
3 4 5 1 2
3 4 5 1 2
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果.
注意:不得增行或删行,也不得更改程序的结构!
#include
#define M 3
#define N 5
void fun(int (*a)[N],int k)
{
int i,j,p,temp;
//
a[i][N-1]=temp;
}
}

个人看不明白有几个问题希望高手解答
第一个我自己认为该fun函数只是把第一列的所有元素移到了最后一列 但没有像题目中所给的例子一样把第k列之前的所有元素整体移动到最后 如果不是 希望高手指明哪些语句是完成上述操作的
第二个关于p 它所做的操作是从第二列开始到第k列循环 呃.. 为什么要做这样的循环,如果是第k列向前移动的话为什么不从第0列向第k列循环

谢谢大家..

C程序矩阵移动问题给定程序中,函数fun的功能是:将a所指3×5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕到右边.例如,有下列矩阵: 1 2 3 4 5
你没有理解这个算法吧,从第k列的东西移动到0列,换句说是不是将整个矩阵左移k次啊?
所以:
1.最外循环是将所有的元素右移一次,移动k次
2.既然算法是这样,p就不是列数的意思,而是移动次数