编辑代码

#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;
        }
    }
}