c语言定义max_min求一个数组最大值和最小值,利用调用函数void max_min(int[],int n,int *map,int *minp)

#include<stdio.h>
void (max_min)
int a[],int n;
int (*maxp,int *minp);
{
int i;
*maxp=a[0];
*minp=a[0];
for(i=1;i<=n-1;i++)
{
if(a[i]>=*maxp)
*maxp=a[i];
else if
(a[i]<*minp) *minp=a[i];
}
}
int main()
{
int a[100],n,i,max,min;
printf("please input n:");
scanf("%d",&n);
printf("please in put number :");
for(i=0;i<=n-1;i++);
scanf("%d",&a[i]);
max_min(a,n,maxp,minp);
printf("the max and min is :%d&%d\n",maxp,minp);
return 0;
}
这个那里出了错误?????????谢谢改正!

#include<stdio.h>

//max_min函数定义太乱了,应该是这样的:

void max_min(int a[],int n,int *maxp,int *minp)

     int i;

     *maxp=a[0];

     *minp=a[0];

     for(i=1;i<=n-1;i++)

     {

          if(a[i]>=*maxp)

           *maxp=a[i]; 

          else if (a[i]<*minp) 

           *minp=a[i];

     }

}

int main()

{

     int a[100],n,i,max,min;

     printf("please input n:");

     scanf("%d",&n);

     printf("please in put number :");

     for(i=0;i<=n-1;i++)//去掉分号

     scanf("%d",&a[i]); 

     max_min(a,n,&max,&min); //应该是传变量地址,max_min(a,n,maxp,minp); 

     printf("the max and min is :%d&%d\n",max,min); //maxp,minp没定义,应该是max,min

     return 0;

}

结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
#include<stdio.h>
void max_min(int a[],int int *maxp,int *minp);
{
int i;
*maxp=a[0];
*minp=a[0];
for(i=1;i<=n-1;i++)
{
if(a[i]>=*maxp)
*maxp=a[i];
if(a[i]<*minp)
*minp=a[i];
}
}
int main()
{
int a[100],n,i,max,min;
printf("please input n:");
scanf("%d",&n);
printf("please in put number :");
for(i=0;i<=n-1;i++);
scanf("%d",&a[i]);
max_min(a,n,&maxp,&minp);
printf("the max and min is :%d&%d\n",maxp,minp);
return 0;
}
第2个回答  2013-04-09
int a[100],n,i,max,min;--------> int a[100],n,i,maxp,minp;
max_min函数调用,定义了指针就取maxp,minp地址------>max_min(a,n,maxp,minp);

至于第二行函数定义,你自己粘错了吧
第3个回答  2013-04-09
for(i=0;i<=n-1;i++); 这里不需要分号结束,去掉即可

关于你那个max_min()函数,你的定义实在看不明白,你保证没有问题就好了
相似回答