整数对调、

描述

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

输入

10个整数

输出

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

输入样例 1 

4 5 2 1 3 9 8 7 10 6

输出样例 1

1 5 2 4 3 9 8 7 6 10

输入样例 2 

2 1 3 4 5 6 7 8 10 9

输出样例 2

1 2 3 4 5 6 7 8 9 10

代码一(如下):选择法处理

#include 
using namespace std;
void shuru(int a[]);
void chuli(int a[]);
void shuchu(int a[]);
int main()
{
	int a[10];
	shuru(a);
	chuli(a);
	shuchu(a);
	return 0;
}
void shuru(int a[])
{
	int i;
	for (i = 0; i < 10; i++)
	{
		cin >> a[i];
	}
}
void chuli(int a[])
{
	int i,k;
	for (i = 1; i < 10; i++)
	{
		if (a[0] > a[i])
		{
			k = i;
			int t = a[0];
			a[0] = a[k];
			a[k] = t;
		}
	}
	
	for (i = 1; i < 10; i++)
	{
		if (a[9] < a[i])
		{
			k = i;
			int j = a[9];
			a[9] = a[k];
			a[k] = j;
		}
	}

}
void shuchu(int a[])
{
	for (int i = 0; i < 10; i++)
	{
		cout << a[i] << " ";
	}
}

代码二(如下):指针处理

#include 
using namespace std;
void shuru(int a[]);
void chuli(int a[]);
void shuchu(int a[]);
int main()
{
	int a[10];
	shuru(a);
	chuli(a);
	shuchu(a);
	return 0;
}
void shuru(int a[])
{
	int i;
	for (i = 0; i < 10; i++)
	{
		cin >> a[i];
	}
}
void chuli(int a[])
{
	int *p,* max, * min;
	max = min = a;
	for (p = a + 1; p < a + 10; p++)
	{
		if (*p < *min)
		{
			min = p;
		}
		else if (*p > *max)
		{
			max = p;
		}
	}
	int t = a[0];a[0] = *min;*min = t;
	t = a[9];a[9] = *max;*max = t;
}
void shuchu(int a[])
{
	for (int i = 0; i < 10; i++)
	{
		cout << a[i] << " ";
	}
}

你可能感兴趣的:(ACM作业,c++)