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!");
}
}
26 2 C:\Users\Admin\Documents\lap trinh c\bai 37.cpp [Error] expected ';' before '}' token
Trả lờiXóaloi nay sua sao ad?