裁判程序
#include <stdio.h>
#include <stdlib.h>
void ArrayCreate(double **array, int size);
void ArrayInput(double *array, int size);
void ArrayOutput(const double *array, int size);
double ArraySum(const double *array, int size);
double ArrayMax(const double *array, int size);
double ArrayMin(const double *array, int size);
double ArrayAvg(const double *array, int size);
int main()
{
double *a, sum, max, min, avg;
int n;
scanf("%d", &n);
ArrayCreate(&a, n);
ArrayInput(a, n);
ArrayOutput(a, n);
putchar('\n');
printf("%g\n", ArraySum(a, n));
printf("%g\n", ArrayMax(a, n));
printf("%g\n", ArrayMin(a, n));
printf("%g\n", ArrayAvg(a, n));
free(a);
a = NULL;
return 0;
}
/* 你提交的代码将被嵌在这里 */
......
答案
void ArrayCreate(double **array, int size)
{
if(size<1)
{
printf("Incorrect size!\n");
exit(1);
}
else if((*array=(double*)malloc(sizeof(double)*size))==NULL)
{
printf("Not enough memory!\n");
exit(1);
}
}