一个奇怪的程序运行问题,请大家指点一下(C语言)
布拉格曼 2010-02-26 11:22:50 原例题程序,我做了一点点小的改动
--------------------------------------------------------------------------------------------------------------------------------------------------------------
01 // 编程从10个数中找出其中最大值、最小值,并求出平均值
02
03 #include <stdio.h>
04 #define N 10
05
06 float Max=0.0, Min=0.0;
07
08 // No.1: Subroutine: float average ( float array[], int n );
09 float average ( float array[], int n )
10 {
11 int i;
12 float aver, sum=0.0;
13 Max = Min = array[0];
14 for ( i=0; i<n; i++ )
15 {
16 if ( array[i] > Max )
17 Max = array[i];
18 if ( array[i] < Min )
19 Min = array[i];
20 sum += array[i];
21 }
22 aver = sum / n;
23
24 return (aver);
25 }
26
27 // Main function's declaration.
28 int main ( void )
29 {
30 int i;
31 float number[N], aver, *p;
32 printf ( "Please input 10 float numbers: " );
33 for ( i=0; i<N; i++ )
34 scanf ( "%f", &number[N] );
35 p = number;
36 aver = average ( p, N );
37 printf ( "Max=%-.2f, Min=%-.2f\n", Max, Min );
38 printf ( "aver=%-.3f\n", aver );
39
40 return (0);
41 }
42
-----------------------------------------------------------------------------------------------------------------------------------------------------------
运行的时候,效果如下:
Please input 10 float numbers: 12 13.5 35 565 43 423 23 49 27.7 98.9
Max=0.00, Min=-1.42
aver=-0.283
这是什么原因啊?
在线请教,最迟3小时内结贴。