求最大值最小值,平均值的程序,请问哪里错了,错误有点多,小弟是菜鸟,谢谢了

#include<stdio.h>
int aMAX(int *a,int n)
{
int m[100],max,i,*a;
max=m[0];
a=m;
for(i=0; i<n; i++)
{

if(max<m[i]) max=*(a+i);
}
return max;
}
int aMIN(int *a,int n)
{
int m[100],min,i,*a;
min=m[0];
a=m;
for(i=0; i<n; i++)
{

if(min>m[i]) min=*(a+i);
}
return min;
}
int aAVE(int *a,int n)
{
int sum,n,i,m[100],*a;
double ave;
a=m;
sum=0;
for(i=0; i<n; i++)
{
sum+=*(a+i);
}
ave=sum/i;
return ave;
}
int main(void)
{
int m[100],i,n;
int *a;
a=m;
printf("输入数字:");
for(a=m; a<m+100;)
scanf("%d",a++);
printf("MAX=%d",aMAX(*a,n));
printf("MIN=%d",aMIN(*a,n));
printf("AVE=%lf",aAVE(*a,n));
return 0;
}

萧十郎
浏览 97回答 2
2回答

明月笑刀无情

int main(void){int m[100],i,n;int *a;a=m;printf("输入数字:");for(a=m; a<m+100;)scanf("%d",a++);printf("MAX=%d",aMAX(*a,n));printf("MIN=%d",aMIN(*a,n));printf("AVE=%lf",aAVE(*a,n));return 0;}这里面那个*a根本就是多余的,改成for(i=0; i<00;i++)scanf("%d",m[i]);printf("MAX=%d",aMAX(m,n));printf("MIN=%d",aMIN(m,n));printf("AVE=%lf",aAVE(m,n));我晕,你几个函数里都这样啊,你不会数组操作吗?给你改一个吧,你试试该其他的int aMAX(int *a,int n){int max,i;max=a[0];for(i=0; i<n; i++){if(max<a[i]) max=a[i];}return max;}&nbsp;不懂的话,在问吧

森栏

非要用指针么?可以不用的,再就是主函数中n没有赋值&nbsp;&nbsp;for(a=m; a<m+100;),这句话也有问题一定要输入100个数才结束?,要控制输入一部分就可以结束的if(max<m[i]) max=*(a+i);这个对吗?好像是子函数不能这么用的还有子函数中的n,好像也不能用
打开App,查看更多内容
随时随地看视频慕课网APP