输入10个整数到数组中,将数组中最小值与第一个元素交换,将数组最大值与最后一个交换.

输入10个整数到数组中,将数组中最小值与第一个元素交换,将数组最大值与最后一个交换。编写三个函数1。输入10个数 2。交换元素 3.输出10个数
为什么出错???
#include<stdio.h>
#define b 10
void input(int a[10],int b)
{int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
}
void change(int a[10],int b)
{
int max,min,i,k,l,m,n;
for(i=1;i<10;i++)
{if(max<a[i]) {max=a[i];k=i;}
if(min>a[i]) {min=a[i];l=i;}
}
m=a[k];a[k]=a[9];a[9]=m;
n=a[l];a[l]=a[0];a[0]=n;
}
void output(int a[10],int b)
{int i;
for(i=0;i<10;i++)
printf("%d\n",a[i]);
}
main()
{
void input(int a[10],int b);
void change(int a[10],int b);
void output(int a[10],int b);
int i,a[10];
input(a,10);
change(a,10);
output(a,10);
}
#include<stdio.h>
#define b 10
void input(int a[])
{int i;
for(i=0;i<b;i++)
scanf("%d",&a[i]);
}
void change(int a[]) //去除了原搏世算法中在某些情况耐银物下的bug。
{
int max=a[0],min=a[0],i,k=0,l=0,m,n;
for(i=1;i<b;i++)
{if(max<昌液a[i]) {max=a[i];k=i;}
if(min>a[i]) {min=a[i];l=i;}
}
m=a[k];a[k]=a[b-1];a[b-1]=m;
if(a[k]!=min)
{n=a[l];a[l]=a[0];a[0]=n;}
else
{n=a[k];a[k]=a[0];a[0]=n;}
}
void output(int a[])
{int i;
for(i=0;i<b;i++)
printf("%d\n",a[i]);
}
void main()
{
void input(int a[]);
void change(int a[]);
void output(int a[]);
int a[b];
input(a);
change(a);
output(a);
}
#include <stdio.h>
void main()
{
int number[10];
int input(int number[10]);
int max_min_value(int number[10]);
int output(int number[10]);
input(number);
max_min_value(number);
output(number);
}
input(int number[10])
{int i;
for(i=0;i<=9;i++)
scanf("%d",&number[i]);
return (0);}

int max_min_value(int number[10])
{
int max=*number,min=*(number+9);
int max_flag=0,min_flag=0;

for(int i=0;i<10;i++)
{
if(max<*(number+i))
{
max=*(number+i);//找出最大
max_flag=i;//记录最大在数组中的位置
}
if(min>*(number+i))
{
min=*(number+i);//找出最小
min_flag=i;//记录最枯哪帆小在数没雹组的位置
}
}
//最大和最后交换
*(number+max_flag)=*(number+9);
*(number+9)=max;
//最小和第缓镇一项交换
*(number+min_flag)=*number;
*number=min;

return (0);
}

output(int number[10])
{int i;
for(i=0;i<10;i++)
printf("%d",number[i]);
return (0);}
---以前回答别人的 应该是OK的 你试下
# include <stdio.h>

int main(void)
{
int i;
int a[10];

printf("输携配入10个整数:\n");

for(i = 0; i <10; i++)
{
scanf("%d", &a[i]);
}

for(i = 0; i < 10; i++)
{
int temp;
if(a[0] >掘液 a[i + 1])
{
temp = a[0];
a[0] = a[i + 1];
a[i + 1] = temp;
}
if(a[i] > a[9])
{
temp = a[i];
a[i] = a[9];
a[9] = temp;
}
}

for(i = 0; i < 10; i++)
{
printf("%d\辩散指t", a[i]);
}

return 0;
}
写的太麻烦了!