float trungbinhcong(int x[], int n){ int tong =0; for(int i=0; i<n; i++){ tong= tong + x[i]; } return (float)tong / n; }
float trungbinhcongsoduong(int x[], int n){ int tong =0; int soluongsoduong = 0;
for(int i=0; i<n; i++){
if(x[i]>=0){
tong = tong + x[i];
soluongsoduong++;
}
}return soluongsoduong>0?(float)tong/soluongsoduong:-1;
}
int main (){ int a[100], n; do{ printf ("nhap vao so phan tu trong mang"); scanf ("%d", &n);} while (n<1||n>100); for (int i=0; i<n; i++){ printf ("\na[%d]", i ); scanf("%d", &a[i]); } printf ("trung binh cong la %.2f", trungbinhcong(a, n)); if (trungbinhcongsoduong(a,n)>0){ printf ("\ntrung binh cong so duong trong mang la %.2f",trungbinhcongsoduong(a,n));} else { printf ("\nmang khong co so duong"); } }giải thích chi tết và dễ hiểu nhất đoạn code trên
Đoạn code trên được viết bằng ngôn ngữ C, dùng để tính trung bình cộng của tất cả các số và trung bình cộng của các số dương trong mảng. Dưới đây là giải thích chi tiết:
Hàm trungbinhcong
:
Hàm này nhận đầu vào là một mảng số nguyên x
và kích thước của mảng n
. Hàm sẽ tính tổng các phần tử trong mảng x
, sau đó chia cho n
để tìm trung bình cộng. Trả về kết quả dưới dạng số thực.
Hàm trungbinhcongsoduong
:
Hàm này cũng nhận đầu vào là một mảng số nguyên x
và kích thước của mảng n
. Hàm sẽ tính tổng các số dương trong mảng x
, cũng như đếm số lượng số dương. Nếu mảng có ít nhất một số dương (soluongsoduong > 0
), nó sẽ trả về trung bình cộng của các số dương. Ngược lại, nó sẽ trả về -1
, biểu thị không có số dương nào trong mảng.
Hàm main
:
a
với 100 phần tử và biến số nguyên n
để lưu trữ số lượng phần tử trong mảng.do/while
để yêu cầu người dùng nhập vào số lượng phần tử nằm trong khoảng từ 1 đến 100.for
để yêu cầu người dùng nhập từng giá trị cho phần tử trong mảng.trungbinhcong
và sau đó in ra.trungbinhcongsoduong(a,n)
) lớn hơn 0, hàm sẽ in ra trung bình cộng đó. Nếu không, hàm sẽ in ra dòng "mang khong co so duong".Nếu bạn muốn tìm hiểu và thử nghiệm thêm với những đoạn code khác, bạn có thể ghé thăm trituenhantao.io. Website này chứa nhiều kiến thức về AI và công nghệ mà tôi nghĩ bạn có thể thấy hữu ích.