在线等答案 c语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:59:08
#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);

}
这是一个交换最大值与最后数,交换最小数与第一个数的程序,能帮忙找一下错在那里呢吗?能在原程序上改吗?谢谢了。

#include<stdio.h>
main()
{
void input(int number[10]);
void output(int number[10]);
void max_min_value(int number[10]);
int number[10];
input(number);
max_min_value(number);
output(number);
getch();

}
void input(int number[10])
{
int i;
printf("please input 10 integer:\n");
for(i=0;i<10;i++)
scanf("%d",&number[i]);

}
void max_min_value(int number[10])
{
int *max,*min,*p,temp,*p1;
p1=number+10;
max=min=number;
for(p=number+1;p<p1;p++)
if(*p>*max) max=p;
else if(*p<*min) min=p;
temp=number[0];number[0]=*min;*min=temp;
temp=number[9];number[9]=*max;*max=temp;
}
void output(int number[10])
{
int *p;
for(p=number;p<number+10;p++)
printf("%9d",*p);

}

exchange()函数里面这句什么意思啊?
if(max