我是靠谱客的博主 娇气狗,这篇文章主要介绍将二维矩阵列元素循环左移k位 C语言,现在分享给大家,希望可以做个参考。

函教fun的功能是:将a所指3x5矩阵中第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

#define M 3
#define N 5
void fun(int (*a)[N], int k){
   int i, j, p, temp;
   for (p = 1; p <= k; p++)
      for (i = 0; i < M; i++){
         temp = a[i][0];
         for (j = 0; j < N - 1; j++)
            a[i][j] = a[i][j + 1];
         a[i][N - 1] = temp;
      }
}
int main(){
   int x[M][N] = {{1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}, {1, 2, 3, 4, 5}}, i, j;
   printf("The array before moving:n");
   for (i = 0; i < M; i++){
      for (j = 0; j < N; j++)
         printf("%3d", x[i][j]);
      printf("n");
   }
   fun(x, 2);
   printf("The array after moving:n");
   for (i = 0; i < M; i++){
      for (j = 0; j < N; j++)
         printf("%3d", x[i][j]);
      printf("n");
   }
}

 程序结果:

最后

以上就是娇气狗最近收集整理的关于将二维矩阵列元素循环左移k位 C语言的全部内容,更多相关将二维矩阵列元素循环左移k位内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(140)

评论列表共有 0 条评论

立即
投稿
返回
顶部