关于#c语言#的问题:求出每一行的最小值,要求以函数的形式求取。

要求:求解最小值通过函数调用实现。
printf函数输出最小值,每个数据占5位。
麻烦大家解答一下。


#include <stdio.h>
int mins(int *a,int n)
{
    int i,min;
    for(i=0;i<n;i++)
    {
        if(i==0)
            min = a[i];
        else if(min > a[i])
            min = a[i];
    }
    return min;
}
int main()
{
    int a[5][4];
    int i,j;
    for(i=0;i<5;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<5;i++)
        printf("%-5d",mins(a[i],4));
    return 0;
}
 

每行最小值,参数是数组?

img

 
#include<stdio.h>
#include<stdlib.h> 
#define n 5
#define m 4
void s(int t[n][m])
{
    int j,k;
    for(j=0; j<n; j++)
    {
        for(k=0; k<m; k++)
        {
            //scanf("%d",&t[j][k]);//输入 
            t[j][k]=rand()%100;//随机 
        }
    }
}
void p(int t[n][m])
{
    int j,k;
    printf("输出\n");
    for(j=0; j<n; j++)
    {
        for(k=0; k<m; k++)
        {
            printf("%3d",t[j][k]);
        }
        printf("\n");
    }
}
void findmin(int t[n][m])
{
    int j,k;
    
    for(j=0; j<n; j++)
    {
        int min=t[j][0];
        for(k=0; k<m; k++)
        {
            if(min>t[j][k])
            {
                min=t[j][k];
            }
        }
        printf("第%d行最小值为:%d\n",j+1,min);
    }
}
int main()
{
    int t[n][m];
    s(t);
    p(t);
    findmin(t);
    return 0;
}