根据程序的要求,我们应该要求出这批数中的最大和最小值,然后进行做差的操作,这样就可以得出最大值与最小值的差值。
你程序的问题是函数输入的参数有问题max_main(a[],10)应该修改成max_main(a,10),这样才能正确的调用函数。
处理函数正确代码如下:
int max_main(int a[], int e) {
max = a[0];
min = a[0];
for (int i = 0; i < e; i++) {
if (a[i + 1] > max)
max = a[i + 1];
if (a[i + 1] < min)
min = a[i + 1];
}
t = max - min;
return (t);
}
扩展资料:
函数的分类:
库函数,它是由系统提供的,用户不必自己定义,可直接使用它们。应该说明,不同的c语言编译系统提供的库函数的数量和功能会有一些不同,当然许多基本的函数是共同的。
用户自己定义的函数。它是以解决用户专门需求的函数。
从函数的形式来看,函数分为两类:
无参函数,无参函数可以带回或不带回函数值,但一般不带回函数值较多。
有参函数,在调用函数时,主调函数在调用被调函数时,通过参数向被调函数传递数据。执行调用函数时会得到一个函数值,供主调函数使用。
C语言函数的注意事项:
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。
C语言允许在一个函数的定义中出现对另一个函数的调用。这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。
参考资料来源:百度百科-函数调用
你这个不行 不要a[e+1]和a[e] 比 要分别拿啊a[e]和max、min比大小 比max大的赋给max 比min小的赋给min
你的问题到底是什么
#include
int t,max,min,n=10;
int max_main(int a[],int e)
{
int i=0;
max=a[0];
min=a[0];
for(i=0;i
if(a[i]>max)
max=a[i];
if(a[i]
}
t=max-min;
return(t);
}
int main()
{
int a[10];
int i;
printf("and please input numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("%d",max_main(a,10));
getch();
return 0;
}
首先你的函数,不管是max_main(int a[],int e)还是main函数都缺少“{}”,其次 for(e=0;e<(e-1);e++)这句有问题,e