改进后的,谢谢各位大佬的帮助
程序代码:
程序代码:#include <stdio.h>
#include<stdlib.h>
void exchange(int *num,int count)
{
int max=num[0],min=num[0];
int max_count=0,min_count=0; //最值下标
int i,j,k,value;
for(i=1;i<count;i++) //找到最大值下标
{
if(max<num[i])
{
max=num[i];
max_count=i;
}
}
for(j=1;j<count;j++) //找到最小值下标
{
if(min>num[j])
{
min=num[j];
min_count=j;
}
}
printf("\n");
//交换
value=num[max_count];num[max_count]=num[0];num[0]=value; //交换最大值
value=num[min_count];num[min_count]=num[count-1];num[count-1]=value; //交换最小值
for(k=0;k<count;k++)
printf("%d ",num[k]);
printf("\n");
}
int main()
{
int *num=malloc(100);
int count=0;
char c=0;
printf("输入数组(回车结束)\n");
while(c!='\n')
{
scanf("%d",&num[count++]);
c=getchar();
}
exchange(num,count);
num=NULL;
}






