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

作者:NCITS 时间:2023-10-24 22:42:36 

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, n, t);

return 0;
}

 动态分配内存


void matrix (int m, int n, 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]);
         }
         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");
   }
 }
}

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

来源:http://blog.csdn.net/mrz_swworld/article/details/40456517

标签:C语言,矩阵翻转
0
投稿

猜你喜欢

  • Android实现的简单蓝牙程序示例

    2021-06-27 01:23:44
  • Java继承的问题引导和测试代码

    2023-03-13 18:50:34
  • C#使用Dispose模式实现手动对资源的释放

    2022-09-21 16:12:14
  • c#异常处理示例分享

    2022-09-10 23:20:54
  • Java利用Selenium操作浏览器的示例详解

    2022-06-17 17:34:20
  • SpringBoot之使用Redis实现分布式锁(秒杀系统)

    2022-09-30 15:45:08
  • SpringBoot微信消息接口配置详解

    2023-08-23 09:51:21
  • 详解Maven多模块打包遇到的问题解决方法

    2022-12-25 13:01:12
  • Java中对list map根据map某个key值进行排序的方法

    2023-09-04 17:10:03
  • Android使用DocumentFile读写外置存储的问题

    2023-10-23 01:58:54
  • SpringBoot ApplicationContext接口深入分析

    2021-10-21 23:00:03
  • C#编程实现统计文件夹内文件和隐藏文件的方法示例

    2022-09-29 16:09:38
  • Android实现系统语言切换功能

    2022-10-24 07:06:34
  • 深入学习C#网络编程之HTTP应用编程(上)

    2023-12-12 23:12:27
  • MyBatis深入解读懒加载的实现

    2021-10-02 01:09:44
  • Java深入浅出讲解String类常见方法

    2021-05-28 06:56:20
  • Android实现图片缓存与异步加载

    2022-02-25 14:21:06
  • SpringBoot动态修改日志级别的操作

    2022-10-31 05:00:30
  • SpringBoot应用War包形式部署到外部Tomcat的方法

    2021-10-06 04:59:48
  • 基于springboot i18n国际化后台多种语言设置的方式

    2022-03-28 16:02:56
  • asp之家 软件编程 m.aspxhome.com