Tìm min, max trong mảng bị trả về 0

đề là cho 1 số nguyên n
nhập n số thực và tìm min max của dãy số đó
em làm như này sao nó lại trả về 0 vậy ạ

#include<stdio.h>
#include<stdlib.h>
#define MAX_LEN_ARR 1000
#define true 1
#define false 0

void nhapMang(float a[], int n)
{
    for(int i=0;i<n;i++)
    scanf("%f",&a[i]);
}
int timMax(float a[],int n)
{
    float max=a[0];
    for(int i=1;i<n;i++)
        {
            if(a[i]>max)
                max=a[i];
            else
                max=a[0];
        }
        return max;

}
int timMin(float a[],int n)
{
    float min=a[0];
    for(int i=1;i<n;i++)
        {
            if(a[i]<min)
                min=a[i];
            else
                min=a[0];
        }
        return min;
}
int main()
{
    int n;
    float arr[MAX_LEN_ARR];
    scanf("%d",&n);
    nhapMang(arr,n);
    printf("Min = %.3f\n",timMin(arr,n));
    printf("Max = %.3f", timMax(arr,n));
}

bạn đã kiểu tra bạn nhập đúng chưa? hãy thử in mảng đã nhập để xác nhận lại

max/min của mảng số thực lại là một số int?

vế này (trong hàm timMax/timMin) để làm gì? có ý nghĩa là gì?

4 Likes

dạ em sửa đc rôi anh ạ
em lại nghĩ chỉ khai báo float trong () là đủ và cái else là em hiểu sai cái so sánh
em cảm ơn anh ạ :33

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?