#include<stdio.h>
void main()
{
int a[80];
int *p;
p=a;
void get(int *,int );
void exchange(int *,int);
void put(int* ,int );
get(a,10);
exchange(a,10);
put(a,10);
}
void get(int *p,int n)
{
int i;
printf("请输入十个数:\n");
for(i=0;i<n;i++,p++)
scanf("%d",p);
}
void exchange(int *p,int n)
{
int *max,*min,*b;
b=p;
int i;
for(i=0,max=b,min=b;i<n;i++,p++)
{ if(*p>=*max)
max=p;
else if(*p<*min)min=p;
}
if(max!=p&&min!=b)
{
{*max=*b,*b=*min,*min=*p;}
{*b=*max,*max=*p,*p=*b;}
}
}
void put(int *q,int n)
{
int j;
for(j=0;j<n;j++,q++)
printf("%-5d",*q);
}
这是一个交换最大值与最后数,交换最小数与第一个数的程序,能帮忙找一下错在那里呢吗?能在原程序上改吗?谢谢了。