/*
文件名:hw3.c
描述:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:①输入10个数;②进行处理;③输出10个数。所有函数的参数均用指针
日期:2019年8月26日
作者:超爱杰克逊
*/
#include <stdio.h>
void func(int *ary,int len)
{
int i=0;
int j=0;
int min_index=0;//假设第一个是最小值,min_index是其下标,和其他值比较,获得最小值下标
int max_index=len-1;//假设最后一个是最大值,max_index是其下标,和其他值比较,获得最大值下标
for(i=1;i<len;i++)
{
if(*(ary+i)<*(ary+min_index))
{
min_index=i;
// printf("%d %d\n",min_index,*(ary+min_index));
}
}
int temp=0;
if(min_index != 0)
{
temp=*ary;
*ary=*(ary+min_index);
*(ary+min_index)=temp;
}
for(j=len-2;j>=0;j--)
{
if(*(ary+j)>*(ary+max_index))
{
max_index=j;
// printf("%d %d\n",max_index,*(ary+max_index));
}
}
if(max_index != len-1)
{
temp=*(ary+len-1);
*(ary+len-1)=*(ary+max_index);
*(ary+max_index)=temp;
}
}
void input_ary(int *ary,int len)
{
int i=0;
printf("please input 10 numbers:\n");
for(i=0;i<len;i++)
{
scanf("%d",ary+i);
}
}
void print_ary(int *ary,int len)
{
int i=0;
for(i=0;i<len;i++)
{
printf("%d ",*(ary+i));
}
printf("\n");
}
int main(void)
{
int ary[10]={0};
input_ary(ary,10);
func(ary,10);
print_ary(ary,10);
return 0;
}