_Phoebe__ 2021-12-09 21:34 采纳率: 96.9%
浏览 28
已结题

调用的函数应该怎么写 输出结果很离谱 想知道怎么改

使用数组的程序的设计(20分)
(1)将一个N×N矩阵转置(行列互换)后输出。要求使用数组存放矩阵,设计转置函数Trans()实现矩阵的转置(行列互换 ),不能使用全局变量和全局数组。
(2)主函数:设计数组存放矩阵,然后调用转置函数Trans()实现矩阵的转置,再调用输出函数Output()打印输出转置后的矩阵。

运行程序并验证输出如下的结果:

初始矩阵:
11 22 33
44 11 55
66 77 88
转置后的矩阵:
11 44 66
22 11 77
33 55 88


//矩阵逆置
 #include<stdio.h>
 void Trans(int a[3][3],int b[3][3]){
     for(int i=0;i<3;i++){
         for(int j=0;j<3;j++){
          b[i][j]=a[j][i];
          
     }    
 }
}
 int output(int a[3][3],int b[3][3]){
 for(int i=0;i<3;i++){
         for(int j=0;j<3;j++){
             printf("%d",b[i][j]);
}
printf("\n");
}
return 0;
}
 int main(){
     int a[3][3],b[3][3];
     int i,j;
     printf("请输入一个3*3标准矩阵:");
     for(int i=0;i<3;i++){
         for(int j=0;j<3;j++){
             scanf("%d",&a[i][j]);
         }
    }
        for(int i=0;i<3;i++){
         for(int j=0;j<3;j++){
             printf("%d",&a[i][j]);
}
}
     Trans(a,b);
     output(a,b);
     return 0;
     
 }
  • 写回答

1条回答 默认 最新

  • 关注

    你只是输出没加空格和换行
    printf()函数中变量前不要加&

    你题目的解答代码如下:

    #include <stdio.h>
    void Trans(int a[3][3], int b[3][3])
    {
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                b[i][j] = a[j][i];
            }
        }
    }
    int output(int a[3][3], int b[3][3])
    {
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                printf("%d ", b[i][j]);
            }
            printf("\n");
        }
        return 0;
    }
    int main()
    {
        int a[3][3], b[3][3];
        int i, j;
        printf("请输入一个3*3标准矩阵:");
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                scanf("%d", &a[i][j]);
            }
        }
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                printf("%d ", a[i][j]);//&去掉
            }
            printf("\n");
        }
        Trans(a, b);
        output(a, b);
        return 0;
    }
    

    如有帮助,望采纳!谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示