如花美眷,似水流年,回得了过去,回不了当初。
题目描述
注:本题只需要提交填写部分的代码
/*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;