/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 刘同宾
* 完成日期:2012 年 12 月 04 日
* 版 本 号:v1.0
*
* 输入描述:
* 问题描述: 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
* 写三个函数:1、输入10个数。2、进行处理。3、输出10个数
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
using namespace std;
int main()
{
void input(int *a);//函数声明
void max_min_value(int *a);
void output(int *a);
int a[10];
input(a); //调用函数
max_min_value(a);
output(a);
return 0;
}
//输入函数
void input(int *a)//形参a为指针变量
{
int i;
cout<<"请输入十个正整数:"<<endl;
for(i=0;i<10;i++)
{
cin>>a[i];
}
}
//进行处理函数
void max_min_value(int *a)
{
int *max,*min,*p,temp;
max=min=a; //使max和min都指向a[0]
for(p=a+1;p<a+10;p++)
{
if(*p>*max) //将大数地址赋给max
{
max=p;
}
else if(*p<*min) //将小数地址赋给min
{
min=p;
}
}
temp=a[0];a[0]=*min;*min=temp;//将最小数与第一个数互换
if(max==a) //如果第一个数刚好是最大数,则使max指向该最大数
{
max=min;
}
temp=a[9];a[9]=*max;*max=temp;//将最大数与最后一个数交换
}
//输出函数
void output(int *a)
{
int *p;
cout<<"处理后为:"<<endl;
for(p=a;p<a+10;p++)
{
cout<<*p<<" ";
}
cout<<endl;
return;
}
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
最新推荐文章于 2022-02-27 20:43:08 发布