Tính trung bình số chẵn/lẻ trong mảng

4
22952

Bài toán: Tính trung bình số chẵn/lẻ trong mảng

Input:  mảng a có n phần tử

Xử lý: duyệt mảng, tìm tất cả phần tử chẵn

Tính tổng các giá trị chẵn trong mảng

Đếm các phần tử chẵn

Tính giá trị trung bình

Output:  giá trị trung bình các phần tử chẵn

Hàm tìm trung bình số chẵn trong mảng

double TBChan(int a[], int n)
{
	double avg,sum=0;
	int dem=0;
	for( int i=0 ; i<n ; i++ )
		if(a[i]%2==0)
		{
			sum=sum+a[i];
			dem++;
		}
	avg=double(sum/dem);
	return avg;
}

 

Hàm tìm trung bình  số lẻ trong mảng

double TBCLe(int a[], int n)
{
	double avg,sum=0;
	int dem=0;
	for( int i=0 ; i<n ; i++ )
		if(a[i]%!2==0)
		{
			sum=sum+a[i];
			dem++;
		}
	avg=double(sum/dem);
	return avg;
}

 

Chương trình trung bình số chẵn trong mảng

#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#define MAX 100
void nhapmang(int a[], int &n);
void xuatmang(int a[], int n);
double TBChan(int a[], int n);
void main()
{
	int a[MAX],n;
	nhapmang(a,n);
	printf("\nNoi dung cua mang");
	xuatmang(a,n);
	double kq=TBChan(a,n);
	printf("\nTrung binh cac phan tu chan %8.2f",kq);
	printf("\nChuc cac ban hoc tot");
	getch();
}
void nhapmang(int a[], int &n)
{
	do
	{
		printf("\nSo phan tu trong mang ");
		scanf("%d",&n);
	}while(n<=0 && n>100);
	for(int i=0 ; i<n ; i++ )
	{
		printf("\nSo phan tu a[%d] la: ",i);
		scanf("%d",&a[i]);
	}
}
void xuatmang(int a[], int n)
{
	for(int i=0 ; i<n ; i++ )
		printf("%4d",a[i]);
}
double TBChan(int a[], int n)
{
	double avg,sum=0;
	int dem=0;
	for( int i=0 ; i<n ; i++ )
		if(a[i]%2==0)
		{
			sum=sum+a[i];
			dem++;
		}
	avg=double(sum/dem);
	return avg;
}

Mình chia sẽ code này đê các bạn tham khảo các vấn đề tương tự. Tuy nhiên các bạn nên tự làm lại, đừng nên copy. Nếu gặp vấn đề gì khó khăn, hoặc thắc mắc gì, các bạn có thể đặt câu hỏi ở cuối bài. Mình sẽ giải đáp.

Chúc các bạn thành công.

Xem thêm: Tìm số chẵn/lẻ âm nhỏ nhất trong mảng

4 COMMENTS

This site uses Akismet to reduce spam. Learn how your comment data is processed.