Code tìm giá trị âm lớn nhất không ra kết quả

ai giúp em với sao em chạy cái code này nó không ra giá trị âm lớn nhất đc ạ @@

#include<stdio.h>
void NhapMang(int &n,float a[50])
{
	int i;
	do
	{
	printf("nhap so phan tu : ");
	scanf("%d",&n);
	}while(!(n>=3&&n<=50));
	printf("nhap gia tri cua %d phan tu : ",n);
	for(i=0;i<n;i++)
	scanf("%f",&a[i]);
}
void XuatMang(int n,float a[50])
{
	int i;
	printf("\ngia tri ban da nhap la :");
	for(i=0;i<n;i++)
	printf("%.1f\t",a[i]);
}
int SoAmMax(int n,float a[50])
{
	
	int i;
	float max;
	for(i=0;i<n;i++)
	if(a[i]<0)
	{
		max=a[i];
		break;
	}
	for(i=0;i<n;i++)
	if(a[i]<0&&a[i]>max)
	{
		max=a[i];
	}
	return max;
}
int main()
{
	int n;
	float a[50];
	int i;
	NhapMang(n,a);
	XuatMang(n,a);
	printf("\nSo max am la : %.1f",SoAmMax(n,a));
	return 0;
} 

Hàm SoAmMax trả về kiểu int, trong khi max bạn khai báo là float

2 Likes

ohhh cảm ơn bạn nha :3

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