|
发表于 2014-7-21 23:21:54
|
显示全部楼层
两个问题:
1. 数组输入代码错误
2. printf语句先对max和min求值(得到0),然后才调用average求平均(此时改变max和min已经没用了,因为printf函数之前就已经记录了它们的值),把这句拆分成两句就OK
- #include<stdio.h>
- float max=0,min=0;
- int main()
- {
- float average(float x[]);
- float x[10];
- float aver;
- int i;
- printf("Enter the ten grade students\n");
- for(i=0;i<10;++i)
- {
- //scanf("%f",&x);
- scanf("%f",&x[i]);
- }
-
- //printf("average=%0.2f\nmax=%.0f\nmin=%.0f\n",average(x),max,min);
- aver = average(x);
- printf("average=%0.2f\nmax=%.0f\nmin=%.0f\n",aver,max,min);
- return 0;
-
- }
- float average(float x[])
- {
- int n;
- float p=0;
- max=min=x[0];
- for(n=0;n<10;++n)
- {
- if(max<x[n])
- max=x[n];
- else if(min>x[n])
- min=x[n];
- p+=x[n];
- }
-
- p=p/10;
- return p;
- }
复制代码 |
|