Tính trung bình các phần tử trong mảng ra kết quả số cực lớn

em làm vài hàm về mảng, đến lúc tinh trung bình thì đáng lẽ là 26 thì thành số cực lớn

main.c :

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

int main()
{
    int test[5] = {12,21,84,1,12};
    double test2[5] = {12,21,84,1,12};
    int luachon = 0;
    int max = 0;
    printf("====== LAM VIEC VOI ARRAY ====== \n\n");
    printf("1. Tong gia tri \n");
    printf("2. Trung binh gia tri toan tong\n");
    printf("\nLua chon :\n");
    scanf("%d",&luachon);
    switch(luachon)
    {
    case 1 :
        printf("Tong cac gia tri trong mang : %d",tongArray(test,5));
        break;
    case 2 :
        printf("Trung binh toan mang : %lf",trungbinh(test2,5));
        break;
    }
    return 0;
}

array.c :

int tongArray(int array[],int kichthuoc);
double trungbinh (int array[],int kichthuoc);

int tongArray(int array[],int kichthuoc)
{
    int i = 0;
    int tong = 0;
    for (i = 0; i <= kichthuoc ; i++)
    {
        tong += array[i];
    }
    return tong;
}

double trungbinh (int array[],int kichthuoc2)
{
    int i = 0 ;
    double trungbinh,tong = 0;
    for (i = 0; i <= kichthuoc2 ; i++)
    {
        tong += array[i];
    }
    trungbinh = tong/kichthuoc2;
    return trungbinh;
}

em bất lực :sob:

Sai ở đây:

Sửa lại i < kichthuoc (or kichthuoc2) mảng bắt đầu là 0, nếu n = 5, i = 0, 1, 2, 3, 4 là đủ 5 số rồi.

vẫn thế @Pham_Van_Hai

for (i = 0; i <= kichthuoc2 ; i++)
sửa cho hết chứ bác :penguin:

ủa cái này mà nó k chửi luôn đó hả?
1 thằng double, 1 thằng int mà compiler nó cho qua à :o

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