/*************************************************************************************
* 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;
}
转载于:https://blog.51cto.com/69680919/1198157