#include <stdio.h>
#define N 10
void input_data(int * ,int);
void operate_data(int *,int);
void output_data(int * ,int);
int main(int argc, char *argv[])
{
int i,arr[N];
int *p =arr;
printf("please input 10 number\n");
input_data(p,N);
printf("the source number is:\n");
p = arr;
output_data(p,N);
p = arr;
operate_data(p,N);
printf("the result is :\n");
output_data(p,N);
system("pause");
return 0;
}
void input_data(int *arr , int n)
{
int i;
for (i = 0 ; i < n ; i++)
{
scanf("%d" , arr++);
}
}
void operate_data(int *arr , int n)
{
int *max,*min,*p;
int temp;
max = arr;
min = arr;
for (p = arr + 1 ; p < arr + n ; p++)
{
if (*p > *max)
{
max = p;
}
if (*p < *min)
{
min = p;
}
}
//begin swap min value.
p = arr;
temp = *p;
*p = *min;
*min = temp;
//begin swap max value.
p = arr + n - 1;
temp = *p;
*p = *max;
*max = temp;
}
void output_data(int *arr , int n)
{
int i;
for (i = 0 ; i < n ; i++)
{
printf("%d ",*arr++);
}
printf("\n");
}
|