Bài 37. Cách truyền tham số mảng, tính trung bình cộng mảng, tính trung bình cộng số dương



Truyền tham số mảng

Mảng có thể được truyền như tham số trong hàm


Các tham số chính thức là một con trỏ như sau:

return_type function(type *arrayname)

 


Các tham số chính thức là một mảng đã định kích cỡ như sau:

return_type function(type arrayname[size])


  

Các tham số chính thức là một mảng chưa định kích cỡ như sau:

return_type function(type arrayname[])  


Bài tập: Tính trung bình cộng trong mảng một chiều

Nhập vào mảng 1 chiều gồm n  phần tử:

   Tính trung bình cộng các phần tử trong mảng;

Tính trung bình cộng các số dương trong mảng;


Video giải thích chi tiết về Cách truyền tham số mảng, tính trung bình cộng mảng, tính trung bình cộng số dương trong lập trình C



Code ví dụ


#include "stdio.h";

float trungBinhCong(int x[], int n){
	int tong = 0;
	for(int i=0; i<n; i++){
		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+=x[i];
			soLuongSoDuong++;
		}
	}
	return soLuongSoDuong>0?(float)tong/soLuongSoDuong:-1;
}
int main(){
	int a[100];
	int n;
	do{
		printf("Nhap vao so luong phan tu (0<n<=100):");
		scanf("%d", &n);
	}while(n<1 || n>100);
	
	for(int i=0; i<n; i++){
		printf("\na[%d]=", i);
		scanf("%d", &a[i]);
	}
	
	printf("\nTrung binh cong: %.2f", trungBinhCong(a, n));
	
	float tbcsd = trungBinhCongSoDuong(a, n);
	if(tbcsd>0){
		printf("\nTrung binh cong so duong: %.2f", tbcsd);
	}else{
		printf("\nMang khong co so duong!");
	}
	
}


    

Bạn có thể thích những bài đăng này:

1 nhận xét:

  1. 26 2 C:\Users\Admin\Documents\lap trinh c\bai 37.cpp [Error] expected ';' before '}' token
    loi nay sua sao ad?

    Trả lờiXóa