对于初学者来说,函数原型应该放在 main 之前。在这种情况下,编译器可以检查函数是否被正确调用。
该函数不应输出任何消息。它应返回平均值。函数的调用者决定输出什么消息(如果有的话)。
function.should 声明如下
double average( const int a[], size_t n );
并定义为
double average( const int a[], size_t n )
{
double sum = 0.0;
for ( size_t i = 0; i < n; i++ )
{
sum += a[i];
}
return n == 0 ? 0.0 : sum / n;
}
注意数组的索引从 0 开始。
所以主要你应该写
printf("Enter the numbers: \n");
for( i = 0; i < n; i++ )
scanf("%d", &a[i]);
printf( "Average number is: %f\n", average( a, n ) );
这是一个演示程序。
#include <stdio.h>
#define MAX_SIZE 100
double average( const int a[], size_t n );
int main(void)
{
int a[MAX_SIZE];
size_t n = MAX_SIZE;
printf( "Enter the numbers of average: " );
scanf( "%zu", &n );
if ( MAX_SIZE < n ) n = MAX_SIZE;
printf( "Enter the numbers:\n" );
for( size_t i = 0; i < n; i++ )
{
scanf( "%d", &a[i] );
}
printf( "Average number is: %.1f\n", average( a, n ) );
return 0;
}
double average( const int a[], size_t n )
{
double sum = 0.0;
for ( size_t i = 0; i < n; i++ )
{
sum += a[i];
}
return n == 0 ? 0.0 : sum / n;
}
它的输出可能看起来像
Enter the numbers of average: 10
Enter the numbers:
1 2 3 4 5 6 7 8 9 10
Average number is: 5.5