YTU 3363: 矩阵的转置

版权声明:转载请附上原文链接哟! https://blog.csdn.net/weixin_44170305/article/details/89842411

如花美眷,似水流年,回得了过去,回不了当初。

题目描述

注:本题只需要提交填写部分的代码

/*C*/ 

#include<stdio.h>
const int N=100;
int max(int x,int y){
    return x>=y?x:y;
}
int main()
{

    int a[N][N],b[N][N],i,j,maxv,*p;
    int n;
    scanf("%d",&n);
    for(i=0; i<n; i++)
        for(j=0;j<n;j++)
        scanf("%d",&a[i][j]);
        maxv=a[0][0];
        for(i=0;i<n-1;i++){
            for(j=i+1;j<n;j++)
            {
               int temp=*(a[i]+j);
                /*******************************
     请在该部分补充缺少的代码
     ********************************/
            }
        }

    for(i=0;i<n;i++){
        for(j=0;j<n;j++)
            printf("%d ",b[i][j]);
        printf("\n");
    }
    printf("Max:%d\n",*p);
    return 0;
}




给定一个n阶矩阵,要求输出其转置矩阵,并将其最大值输出; 

输入

输入一个整型n(1<n<=99),然后输入n*n个整数

输出

输出对应的n*n的转置矩阵以及里面的最大值

样例输入

copy

2
1 3
2 1

样例输出

1 2
3 1
Max:3

提示

将矩阵的行列互换得到的新矩阵称为转置矩阵,对角线元素不换。 

max函数已经给出,直接调用即可 

//学长我觉得你这样难为一群新生不好
                *(a[i]+j)=*(a[j]+i);
                *(a[j]+i)=temp;
                b[i][j]=a[i][j];
                b[j][i]=a[j][i];
                b[i][i]=a[i][i];
                b[j][j]=a[j][j];
                maxv=max(maxv,a[i][j]);
                maxv=max(maxv,a[j][i]);
                maxv=max(maxv,a[i][i]);
                maxv=max(maxv,a[j][j]);
                p=&maxv;

猜你喜欢

转载自blog.csdn.net/weixin_44170305/article/details/89842411