#include <stdio.h>
double avg(int* p1, int n);
int min(int(*p2)[5], int n);
void t(int p3[][5], int n);
void show(int p[][5]);
int main (void)
{
int i,Min;
double avge;
int v[5][5];
for(i = 0 ; i < 5; i ++)
{
printf("请输入矩阵的第%d行元素:\n",i +1);
scanf("%d%d%d%d%d",&v[i][0], &v[i][1], &v[i][2], &v[i][3], &v[i][4]);
}
printf("转置前的矩阵为:\n");
show(v);
avge = avg(v[0], 25);
Min = min(v, 5);
t(v, 5);
printf("平均值为:%.2f, 最小值为:%d\n转置后的矩阵为:\n",avge, Min);
show(v);
return 0;
}
void show(int p[][5])
{
for(int i = 0; i < 5; i ++)
printf("%4d %4d %4d %4d %4d\n",p[i][0],p[i][1], p[i][2], p[i][3], p[i][4]);
}
double avg(int *p1, int n)
{
double sum = 0;
for(int i = 0; i < n; i ++)
sum += *(p1+i);
return sum/n;
}
int min(int(*p2)[5], int n)
{
int i, j;
int temp = 1000000;
for(i =0; i < n; i ++)
{
for(j =0; j < n; j ++)
{
if(*(p2[i] + j) < temp)
temp = *(p2[i] + j);
}
}
return temp;
}
void t(int p3[][5], int n)
{
int i , j,temp;
for(i = 0; i < n; i ++)
{
for(j = i + 1 ; j < n; j ++)
{
temp = p3[i][j];
p3[i][j] = p3[j][i];
p3[j][i] = temp;
}
}
}