传递的是数组的首地址(可以传递数组名或者首地址)
数组传递函数计算二个班的平均成绩
#include <stdio.h>
void intarry(int arr[], int len)//初始化数组
{
int i;
for(i=0;i<len;i++){
printf("请输入第%d个学生成绩:",i+1);
scanf("%d",&arr[i]);
}
puts("\n done\n");
}
void printarry(int arr[], int len)//打印数组
{
int i;
printf("总数:%d\n",len);
for(i=0;i<len;i++){
printf("%d ",arr[i]);
}
puts("\n done\n");
}
float getAverage(int arr[], int len)//输出成绩
{
float a = 0.00;
int sum = 0;
int i;
for(i=0;i<len;i++){
sum+=arr[i];
}
a =(float) sum/len;
printf("平均分为:%f\n",a);
return a;
}
int main()
{
int classone[5];
int classtwo[10];
float ovreclassone;
float ovreclasstwo;
int lenclassone =sizeof(classone)/sizeof(classone[0]);
int lenclasstwo =sizeof(classtwo)/sizeof(classtwo[0]);
intarry(classone,lenclassone);
printarry(classone,lenclassone);
ovreclassone = getAverage(classone,lenclassone);
intarry(classtwo,lenclasstwo);
printarry(classtwo,lenclasstwo);
ovreclasstwo = getAverage(classtwo,lenclasstwo);
printf("一班的成绩:%f\n",ovreclassone);
printf("二班的成绩:%f\n",ovreclasstwo);
printf("退出");
return 0;
}