首页 > 编程语言 >题目 1030: [编程入门]二维数组的转置

题目 1030: [编程入门]二维数组的转置

时间:2023-04-07 11:22:30浏览次数:50  
标签:输出 函数 转置 编程 int 二维 数组 1030

题目描述

写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。

输入格式

一个3x3的矩阵

输出格式

样例输入

1 2 3
4 5 6
7 8 9

样例输出

1 4 7 
2 5 8 
3 6 9 

解题思路:声明两个数组a[3][3],b[3][3],后者存放转置后的元素。先用for循环嵌套输入a数组元素,接着(关键点)是转置:我们把二维数组看成矩阵,或者说坐标系,这样就很容易想到,行列互换就是横纵坐标对应的元素互换。用代码描述就是b[j][i]=a[i][j]。最后输出b数组就行了。

注意事项:输出b数组时不能把for循环嵌套这部分放到main函数中,不然会输出9个奇怪的数。因为,b数组作用域在自定义函数内。

还有,自

#include<stdio.h>
 
void zhuanzhi(int a[3][3])
{
    int b[3][3];
    int i,j;
    //转置
    for(i=0; i<3; i++)
    {    
        for(j=0; j<3; ++j)
        {
            b[j][i]=a[i][j];
        }
    }
    //输出
    for(i=0; i<3; i++)
    {    
        for(j=0; j<3; j++)
            {
               printf("%d ", b[i][j]);
            }
        printf("\n");
    }
}
 
int main()
{
    int i,j;
    int a[3][3];
    //输入
    for(i=0; i<3; i++)
    {    
    for(j=0; j<3; ++j)
        {
            scanf("%d", &a[i][j]);
        }
    }
 
    zhuanzhi(a);
    return 0;
}

定义函数中不要对数组a再定义,否则会重定义;也不要把数组b放到main函数中,不然自定义函数缺少数组b的声明。

标签:输出,函数,转置,编程,int,二维,数组,1030
From: https://www.cnblogs.com/su-1007/p/17295603.html

相关文章

  • SAP ABAP 初学者编程 – 在线培训
    SAPABAP初学者编程–在线培训与PeterMoxon一起学习SAPABAP编程。帮助学习以获得认证–终身访问+更新!课程英文名:sap-abap-programming-for-beginners此视频教程共1.22GB,中英双语字幕,画质清晰无水印,源码附件全课程地址:https://xueshu.fun/1468演示地址:https://w......
  • TCP编程
    TCP编程Java中的TCPjava对TCP协议进行了封装,客户端和服务端都使用Socket代表两个的通信端口,不过客户端使用的是Socket类,服务端使用的是ServerSocket.客户端代码示例publicclassClientDemo{publicstaticvoidmain(String[]args)throwsIOException{//创......
  • java编程中的C/S模式和B/S模式
    随着社会信息的发展,Java技术已经无处不在,无论是手机软件、手机Java游戏还是电脑软件等,只要你使用到电子产品就会碰到和Java有关的东西,更多的企业正采用Java语言开发网站,越来越多的程序员也应声而起,在学习Java的过程中总会遇到这样或那样的问题,今天千锋小编就大家分享一下在C/S模式......
  • 《3D编程模式》写书-第2次记录
    大家好,目前我已经完成了“拼接模式”、“撤销重做模式”、“ECS模式”的初稿下面会给出它们的使用场景,如果您正好能用到,请联系我提前阅读模式的初稿,欢迎大家给出反馈建议,您的大名有机会出现在《3D编程模式》的书中,感谢!我的QQ号:395976266我的微信号:chaogex这里是所有的的写书......
  • Semantic Kernel 知多少 | 开启面向AI编程新篇章
    引言在ChatGPT火热的当下,即使没有上手亲自体验,想必也对ChatGPT的强大略有耳闻。当一些人在对ChatGPT犹犹豫豫之时,一些敏锐的企业主和开发者们已经急不可耐的开展基于ChatGPT模型AI应用的落地探索。因此,可以明确预见的是,AI能力的集成将会是很多应用都将面临的第一事项,而拥有......
  • 万字详解 | Java 流式编程
    概述StreamAPI是Java中引入的一种新的数据处理方法。它提供了一种高效且易于使用的方法来处理数据集合。StreamAPI支持函数式编程,可以让我们以简洁、优雅的方式进行数据操作,还有使用Stream的两大原因:在大多数情况下,将对象存储在集合中就是为了处理它们,因此你会发现你把......
  • Linux(CentOS7) c语言编程, 多线程入栈出栈,错误:expected ‘while’ before ‘int’
    在Centos7里,编写多线程的入栈出栈时,出现这样错误提示:图片版: 文字版:[root@CentOs705-xitongbiancheng]#gcc05-24-01.pthread-cancel-pop-push.c-pthread05-24-01.pthread-cancel-pop-push.c:在函数‘func’中:05-24-01.pthread-cancel-pop-push.c:47:1:错误:expected......
  • 题目 1027: [编程入门]自定义函数处理最大公约数与最小公倍数
    题目描述写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。输入格式两个数输出格式最大公约数最小公倍数样例输入复制615样例输出复制330解题思路:欧几里得算法又称辗转相除法,用来求两......
  • 题目 1028: [编程入门]自定义函数求一元二次方程
    题目描述求方程的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。输入格式abc输出格式x1=?x2=?样例输入复制411样例输出复制x1=-0.125+0.484ix2=-0.125-0.484i解题思路:一元二次方程只含有......
  • 题目 1025: [编程入门]数组插入处理
    题目描述已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。输入格式第一行,原始数列。第二行,需要插入的数字。输出格式排序后的数列样例输入178172324596210150样例输出178172324505962101......