被高手改过之后的

来源:互联网 发布:河北白晶环境数据造假 编辑:程序博客网 时间:2024/04/30 04:29

#include<stdio.h>
#define N 100
void main()
{
  int a[N],n,i,x,y,c;
  int Lookfor(int a[N],int n,int *max,int *min);
  printf("How many numbers do you want to input ?/n ");
  scanf("%d",&n);
  printf("Now please input %d numbers:/n",n);
  for(i=1;i<=n;i++) //->改为 for(i=0;i<n;i++),数组下标应该从0
  scanf("%d",&a[i]); //开始,到n-1结束
  c=Lookfor(a,n,&x,&y);
  printf("/n");
  printf("Max=%d,Min=%d/n",x,y);
}


int Lookfor(int a[N],int n,int *max,int *min)
{
  int MAX,MIN,i,j;
  MAX=a[0];
  i=1;
  /*while(a[i]>MAX && i<n)
  {
  MAX=a[i];
  i++;
  }*/
//这段逻辑错误
  //应为
  while(i<n)
  {
  if(a[i]>MAX)
  MAX=a[i];
  i++;
  }
  *max=MAX;
  MIN=a[0];
  j=1;
  while(a[j]<MIN && j<n)
{
MIN=a[j];
j++;
}
//问题同上
  while(j<n)
  {
  if(a[j]<MIN)
  MIN=a[j];
  j++;
  }
  *min=MIN;
  return 1;
}

原创粉丝点击