问题背景:从键盘输入某班学生某门课程的成绩,(假设每班人数最多不超过40人,具体人数从键盘输入),试编程计算其平均分。
int average(int score[],int n);/*ave()函数原型*/
void readscore(int score[],int n);/*readscore函数原型*/
int main()
{ int score[N],aver,n;/**/
printf("输入n:");
scanf("%d",&n);
readscore(score,n);/*数组名作为函数实参调用函数readscore()*/
aver=average(score,n);/*数组名作为函数实参调用average()*/
printf("平均分是:%d\n",aver);
return 0;
}
/*函数功能:计算n个学生的平均分*/
int average(int score[],int n) /*average()函数的定义*/
{ int i,sum=0;
for(i=0;i<n;i++)
{sum+=score[i];
}
/*return sum/n;这里为了防止发生除0错误,做如下修改*/
return n>0?sum/n:-1;
}
/*函数功能:计算n个学生的某门课程的成绩*/
void readscore(int score[],int n)
{ int i;
printf("输入成绩:");
for(i=0;i<n;i++)
{ scanf("%d",&score[i]);
}
}