C语言编程题,用指针求10个数中的最大数最小数和平均值,低于平均值的输出

帮帮我,谢谢

第1个回答  2009-04-23
#include<stdio.h>
#define N 10

int main()
{
int i,*p,*p_max,*p_min,s,a[N];
float avg;

printf("请输入%d个数: ",N);
p=a;
for(i=0;i<N;i++)
scanf("%d",p+i);

p=a;
p_max=a;
p_min=a;
s=*p;

for(i=1;i<N;i++) /*此循环用于找出最大数,最小数的地址,并求出10个数的和*/
{
s+=*(p+i);
if(*(p+i)>*p_max)
p_max=p+i;
if(*(p+i)<*p_min)
p_min=p+i;
}
avg=(float)s/N;

p=a;
printf("最大值,最小值,平均值分别是: %d,%d,%.2f.\n",*p_max,*p_min,avg);
printf("低于平均值的数是: ");
for(i=0;i<N;i++)
{
if(*(p+i)<avg)
printf("%d ",*(p+i));
}
printf("\n");

return 0;
}

我自己写的,通过了编译,且结果正确本回答被网友采纳
第2个回答  2009-04-23
void fun1(float a[],float *max,float *min,float *ave)
{int i,n;
float sum;
*max=*min=sum=a[0];
printf("enter n:");
scanf("%d",&n);
for(i=1;i<n;i++)
{sum+=a[i];
if(*max<a[i]) *max=a[i];
if(*min>a[i]) *min=a[i];
}
*ave=sum/n;
}
第3个回答  2009-04-23
我就不理解了,你是怎么看待指针的?
相似回答