/*************************************************************************************        
* Copyright (c) 2012, 西华师大大学计算机学院                                         *
* All rights reserved.                                                               *
* 作 者:  曾舜尧                                                                    *
* 完成日期:2012 年 12 月 03 日                                                      *
* 工 具:VC6.0                                                                       *
*                                                                                    *
* 输入描述:                                                                         *
* 问题描述: 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。*
* 程序输出:                                                                         *
* 问题分析:略                                                                       *
* 算法设计:略                                                                       *
*************************************************************************************/
//#include <iostream>
//#include <cmath>
//#include <iomanip>
//#include <string>
#include <stdio.h>
//using namespace std;
void input(int *p1)
{
       
    int i;
    printf("请输入10个整数:\n");
    for(i=0;i<10;i++)
    {
        printf("Please enter %d number:",i);
        scanf("%d",p1+i);
    }
}
void max_min_value(int *number)
{
    int *max,*min,*p,temp;
    max=min=number;
    for (p=number+1;p<number+10;p++)
    { 
        if (*p>*max)
        {
            max=p; //max存入最大数的内存地址
            temp=number[9];
            number[9]=*max;
            *max=temp;
        }
    }
    for (p=number+1;p<number+10;p++)
    {
        if (*p<*min)
        {
            min=p;
            temp=number[0];
            number[0]=*min;
            *min=temp;
        }
    }
}
void output(int *number)
{
    int *p;
    for(p=number;p<number+10;p++)
        printf("%d  ",*p);
}
int main()
{
    int a[10];
    input(a);
    max_min_value(a);
    output(a);
    getch();
    return 0;
}