利用函数求最大值,最小值和平均值
调试的时候总感觉实参没有带入形参中就直接返回了,不能理解结果,求助求助#include<stdio.h>
int main()
{
double fun(int a[], int n, int *max, int *min);
int a[1000];int i = 0;
int n;
int *max=a , *min=a ;
scanf_s("%d", &n);
for (i = 0;i < n - 1;i++)
scanf_s("%d,", &a[i]);
scanf_s("%d", &a[n - 1]);
double z;
z= fun(a, n, max, min);
fun(a, n, max, min);
printf("%d\n%d\n%f\n", *max,*min, z);
return 0;
}
double fun(int a[], int n, int *max, int *min)
{
int i;
for (i = 0;i < n-1;i++)
{
if (a[i + 1] > a[i])
max = a + i + 1;
}
for (i = 0;i < n - 1;i++)
{
if (a[i + 1] < a[i])
min= a + i + 1;
}
double z;
z = 0;
for (i = 0;i < n;i++)
z = z + a[i] / n;
return z;
}
结果
5
1,2,3,4,5
1
1
1.000000
请按任意键继续. . .