|
发表于 2013-1-13 14:02:29
|
显示全部楼层
本帖最后由 好多鱼^^ 于 2013-1-13 14:04 编辑
我觉得你在avarage函数中 声明的 Max 和Min 与 全局变量Max和Min 并不冲突
不然的话 编译器应该会提示你 MAX 和MIN 已经定义过,无需在定义,但是你的全局变量MAX ,MIN的值不会被修改,在aveage函数中 返回并不包含这个,如果你能把MAX 和min的值也返回回去,再复制给全局变量MAX 和MIN 的话,也是可以的,这一点,一个函数返回三个值,我还不会
还有你的代码,请看23行注释- #include <stdio.h>
- float Max=0;
- float Min=0;
- void main()
- {
- float average(float array[], int n);
- float ave, score[10];
- int i;
- for(i=0;i<10;i++)
- {
- scanf("%f", &score[i]);
- }
- ave=average(score,10);
- printf("Max=%f \n Min=%f \n average=%f \n",Max,Min,ave);
- }
- float average(float array[], int n)
- {
- int i;
- float aver, sum=array[0]; /*在这里将sum赋值为array[0],后面sum=sum+array【i】 并不是从0开始加的,建议这里改为 sum=0;*/
- float Max=array[0];
- float 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;
- }
复制代码 |
|