加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C语言实现矩阵翻转(上下翻转、左右翻转)

发布时间:2020-12-16 05:10:33 所属栏目:百科 来源:网络整理
导读:C语言实现矩阵翻转 上下翻转与左右翻转 实例代码: #include stdio.h void matrix (int m,int n,int t) { int arr[m][n]; int i,j,k; for (i = 0; i m; i++){ for (j = 0; j n; j++){ scanf("%d", } } if (t == 0){//左右翻转 for (i = 0; i m; i++){ for (j

C语言实现矩阵翻转 上下翻转与左右翻转

实例代码:

#include <stdio.h> 
  
void matrix (int m,int n,int t) 
{ 
  int arr[m][n]; 
  int i,j,k; 
  
  for (i = 0; i < m; i++){ 
    for (j = 0; j < n; j++){ 
      scanf("%d",&arr[i][j]); 
    } 
  } 
  if (t == 0){//左右翻转 
      for (i = 0; i < m; i++){ 
        for (j = n-1; j >= 0; j--){ 
          if ( j == 0 ) { 
            printf("%d",arr[i][j]); 
          } 
          else { 
            printf("%d ",arr[i][j]); 
          } 
        } 
        printf("n"); 
      } 
  } 
  else if (t == 1){//上下翻转 
    for (i = m-1; i >= 0; i--){ 
      for (j = 0; j < n; j++){ 
        if ( j == n - 1 ) { 
          printf("%d",arr[i][j]); 
        } 
        else { 
          printf("%d ",arr[i][j]); 
        } 
      } 
      printf("n"); 
    } 
  } 
} 
  
int main() 
{ 
  int m,n,t; 
  
  scanf("%d %d %d",&m,&n,&t); 
  matrix (m,t); 
  
  return 0; 
} 

 动态分配内存

void matrix (int m,int t) 
{ 
  int i,j; 
  int **arr=(int**)malloc(m*sizeof(int*)); 
  for(i = 0; i < m; i++) 
  { 
    arr[i] = (int*)malloc(n * sizeof(int)); 
    for(j = 0; j < n;j++) 
    { 
      scanf("%d",&arr[i][j]); 
    } 
  } 
  /* 
  int **arr = new int*[m]; 
  for(i=0;i<m;i++) 
  { 
    arr[i] = new int[n]; 
    for(j=0;j<n;j++) 
    { 
      scanf("%d",&arr[i][j]); 
    } 
  } 
  */ 
  if (t == 0){//左右翻转 
      for (i = 0; i < m; i++){ 
        for (j = n-1; j >= 0; j--){ 
          if ( j == 0 ) { 
            printf("%d",arr[i][j]); 
        } 
      } 
      printf("n"); 
    } 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读