(c语言)用指针求数组的最大值最小值

2024-11-29 00:56:10
推荐回答(3个)
回答1:

#include
int main() 

int a[] = {1,2,3,4,5,6,7,8,9,10};
int max, min;
max = min = a[0]; //假设第1个元素即是最大值也是最小值。
int *p = a;  
//遍历数组,找出数组a中的最大数和最小数
for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) {
if (*(p+inx) > max) max = *(p + inx);  
else if (*(p+inx) < min) min = *(p+inx);
}
printf("最大数:%d\t最小数:%d\n", max, min);
return 0;
}

回答2:

数组越界了,for(q++;q

#include

int max(int *m,int n)
{
  int t;
  t=*m;
  for(m++;m      if(*m>t)t=*m;
  return t;
}
int min(int *q,int n)
{
  int t;
  t=*q;
  for(q++;q      if(*q  return t;
}
void main()
{
  int a[10],i,*p;
  p=a;
  printf("请输入:\n");
  for(i=0;i<10;i++)
       scanf("%d",&a[i]);
  printf("其中最大数为:%d\n",max(p,10));
  printf("其中最小数为:%d\n\n\n",min(p,10));
}

回答3:

for(m++;m
n是不变的m增大就可以了