

找出最小值最大值的下标与第一个和最后一个值交换即可
你代码逻辑混乱,参考下这个代码
#include <stdio.h>
void swap(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int main ()
{
int i,max=0,min=0;
int a[10];
printf("输入10个数:");
for(i = 0;i < 10;i ++)
{
scanf("%d",&a[i]);
}
for(i = 0; i < 10; i ++)
{
if (a[i]>a[max])
max = i;
if (a[i]<a[min])
min = i;
}
swap(&a[min],&a[0]);
swap(&a[max],&a[9]);
for(i = 0;i < 10;i ++)
{
printf("%d ",a[i]);
}
return 0;
}
如有帮助,望采纳!谢谢!