编写一个程序,被调用后,能求出平均分,最高分,最低分

来源:互联网 发布:mysql 5.6.16.tar.gz 编辑:程序博客网 时间:2024/04/29 06:20

问题描述:

有一个一维数组,存放十个学生的成绩,编写一个程序,当主函数调用此函数后,能求出平均分,最高分,最低分。

解题思路:

众所周知,一个函数只能带回一个函数返回值,此处,要求通过函数调用得到三个值,那该怎么办呢?------------->>>>全局变量可以解决这个问题

代码如下:

#include<stdio.h>float Max;  //全局变量, 存放最大值,整个源程序有效(定义开始到整个程序结束)float Min;  //全局变量,存放最小值float average(float b[],int n){int i;float total;Max = b[0];Min = b[0];total = b[0];for(i=1;i<n;i++){if(b[i] > Max){Max = b[i];}if(b[i] < Min){Min = b[i];}total = total + b[i];}return total/n;}int main(){float array[10];int i;float ave;printf("Please input ten numbers:\n");for(i=0;i<10;i++){scanf("%f",&array[i]);}ave = average(array,10);printf("the max is %6.2f\n",Max);printf("the min is %6.2f\n",Min);printf("the average is %6.2f\n",ave);return 0;}

总结如下:

全局变量----------->>>>>>可以用于增加函数的返回值


全局变量也有其弊端,非必要时刻不要使用

1:在程序执行过程中一直占用内存,而不是在需要时才开辟空间(局部变量)

2:降低函数的通用性,收到外部变量的影响

3:降低程序的清晰性,人们往往难以清楚地判断出每个瞬间外部变量的值

0 0
原创粉丝点击