01/10/2018, 15:55

Mong mọi người giúp đỡ kiểm tra hàm lấy giá trị lớn nhất

Chào St_Marshy,
em mới học lập trình, em có viết đoạn code như trên và thêm vào function chọn gia tri lon nhat trong cac mang nhưng vẫn không chạy được, anh check giúp em đoạn code này. Em cảm ơn ạ.

#include <stdio.h>
#include <stdlib.h>

void input(int mang[], int n);
void output(int mang[], int n);
int max(int mang[], int n);
int main ()
{
    int s=0, t=0, n=10, maxxx=0;
    int mang[n];
    int i=0;
    input(mang, n);
    output(mang, n);
    max(mang, n);
    for(int i=0; i<n; i++)
    {
        s+=mang[i], t=s/n, maxxx=max(mang[i], n);
    }
    printf("tong gia tri trong cac mang= %d
", s);
    printf("tong gia tri trung binh cua cac mang= %d
", t);
    printf("gia tri lon nhat trong tat ca cac mang la: %d", maxxx);
    return 0;
}
void input(int mang[], int n)
{
    for(int i=0; i<n; i++)
    {
        printf("nhap vao cac gia tri trong mang %d
", i);
        scanf("%d", &mang[i]);
    }
}
void output(int mang[], int n)
{
    for(int i=0;i<n;i++)
{
    printf("cac mang da nhap=%d
", mang[i]);
}
}
int max(int mang[], int n)
{
    int max=mang[0];
    for(int i=1; i<n; i++)
    {
        if (mang[i]>max)
        max= mang[i];
    }
    return max;
}
Kuroemon viết 17:58 ngày 01/10/2018

maxxx=max(mang[i], n);

dòng này bạn không để trong vòng lặp được vì phải truyền vảo hàm max một mảng thì nó mới hoạt động được, nhưng bạn lại truyền vào một số nguyên nên bị lỗi.
bạn nên đưa dòng này ra ngoài vòng lặp for, và bạn cũng nên thay mang[i] thành mang nhé

CodeBeginer viết 17:59 ngày 01/10/2018

Cảm ơn bạn, mình làm được rồi.

Bài liên quan
0