例7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分。

解题思路:调用一个函数可以得到一个函数返回值,现在希望通过函数调用能得到3个结果。可以利用全局变量来达到此目的。
#include <stdio.h>
float Max=0,Min=0;                                       // 定义全局变量Max,Min
int main()
{ float average(float array[ ],int n);
  float ave,score[10];
  int i;
  printf("Please enter 10 scores:");
  for(i=0;i<10;i++)
    scanf("%f",&score[i]);
  ave=average(score,10);
  printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);
  return 0;
 }

float average(float array[ ],int n)                       // 定义函数,有一形参是数组
 {int i;
  float aver,sum=array[0];
  Max=Min=array[0];
  for(i=1;i<n;i++)
    {if(array[i]>Max)Max=array[i];
     else if(array[i]<Min)Min=array[i];
     sum=sum+array[i]; 
    }
  aver=sum/n;
  return(aver);
 }



版权声明:本文为zhuyan020389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。