Tại sao code này bị lỗi?

Tại sao cái code này bị lỗi vậy?

#include<stdio.h>
double trungbinh(int n,double arr[]);
int main()
{
  int n,i;
  double arr[500];
  printf("nhap vao kich thuoc: "); scanf("%d",&n);
  for(i=0;i<n;i++)
  {
    printf("u[%d]: ",i);scanf("%f",&arr[i]);
  }
  trungbinh(n,arr);
}

double trungbinh(int n,double arr[])
{
  float tb=0;
  int i;
  for(i=0;i<n;i++)
  {
    tb=arr[i]+tb;
  }
  printf("trung binh = %.1f",tb/n);
}

khai báo thư viện thiếu kìa bạn ơi, vòng lặp for thiếu điều kiện

code bạn viết về đề gì nhìn k hiểu hì hết :smiley:

cái thư viện như vậy là đủ rồi. Mình dùng dev C++ nên không cần dùng getch() .
còn vòng lặp for không biết thiếu điều kiện gì bạn.
cái đề yêu cầu nhập vào phần tử mảng, tính trung bình của mảng đó.

Bởi vì bạn khai báo double arr[500] nên hàm scanf trong vòng for phải sửa lại là scanf("%lf",&ar[i]). C chỉ cho ép kiểu theo 1 chiều nên khi bạn nhập vào dữ liệu sẽ bị sai.:grinning:

1 Like

nếu là double thì khi scanf phải là “%lf” bạn thử xem có nhầm chỗ đó ko?

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