游客 Signup | Login
中文 | En

1337 - C语言程序设计教程(第三版)课后习题10.3

输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。使用指针

Input

10个整数

Output

整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)

Examples

Input

2 1 3 4 5 6 7 8 10 9

Output

1 2 3 4 5 6 7 8 9 10

Solution C++

#include<iostream>
using namespace std;
void input(int *p,int n)
{
	for (int i=0; i<n; i++) cin>>p[i];
}
void deal(int *p,int n)
{
	int *max,*min,*q,t;
	max=min=p;
	for (q=p+1; q<p+n; q++)	//查找最小值
		if (*min>*q) min=q;
	t=p[0]; p[0]=*min; *min=t;
	for (q=p+1; q<p+n; q++)	//查找最大值
		if (*max<*q) max=q;
	t=p[n-1]; p[n-1]=*max; *max=t;
}
void output(int *p,int n)
{
	int *q;
	for (q=p; q<p+n; q++) cout<<*q<<" ";
	cout<<endl;
}
int main()
{
	int a[10];
	input(a,10);
	deal(a,10);
	output(a,10);
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题